Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

हाइबरनेट का उपयोग करके स्ट्रैट्स 2 में mySql डीबी से जेएसपी पेज में छवि (बोल्ब प्रकार) कैसे प्रदर्शित करें?

मैं जेपीए (हाइबरनेट समर्थित) से छवियों को प्रस्तुत करने के लिए निम्नलिखित का उपयोग करता हूं उदाहरण struts2-conventions-plugin का उपयोग करता है, परिणाम प्रकार एनोटेशन "स्ट्रीम" में देखने के लिए सब कुछ है:

package com.kenmcwilliams.photogallery.action.gallery;

import com.kenmcwilliams.photogallery.orm.Picture;
import com.kenmcwilliams.photogallery.orm.PictureDetails;
import com.kenmcwilliams.photogallery.service.Gallery;
import com.opensymphony.xwork2.ActionSupport;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.beans.factory.annotation.Autowired;

@Result(type = "stream", params = {
    "contentType", "${contentType}",
    "contentLength", "${contentLength}",
    "contentDisposition", "${contentDisposition}",
    "inputStream", "${inputName}",
    "bufferSize", "${bufferSize}",
    "allowCaching", "${allowCaching}"
})
public class Stream extends ActionSupport {
    @Autowired private Gallery gallery; 
    private String contentType = "text/plain";
    private int contentLength = 0;
    private String contentDisposition = "inline";
    private InputStream inputStream;
    public String inputName = "inputStream";//This should not be required
    private Integer bufferSize = 1024;
    private String allowCaching = "true";
    private Integer id = null;

    @Override
    public String execute() {
        if (id != null){
            //gallery.get
            PictureDetails details = gallery.getPictureDetails(id);
            Picture photo = details.getPictureId();
            this.contentType = details.getContentType();
            System.out.println("Content Type: " + contentType);
            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(photo.getPicture());
            this.contentLength = photo.getPicture().length;
            System.out.println("Content Length: " + contentLength);
            this.inputStream = byteArrayInputStream;
        }else{
            return ERROR;
        }
        return SUCCESS;
    }

    /**
     * @return the contentType
     */
    public String getContentType() {
        return contentType;
    }

    /**
     * @param contentType the contentType to set
     */
    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    /**
     * @return the contentLength
     */
    public int getContentLength() {
        return contentLength;
    }

    /**
     * @param contentLength the contentLength to set
     */
    public void setContentLength(int contentLength) {
        this.contentLength = contentLength;
    }

    /**
     * @return the contentDisposition
     */
    public String getContentDisposition() {
        return contentDisposition;
    }

    /**
     * @param contentDisposition the contentDisposition to set
     */
    public void setContentDisposition(String contentDisposition) {
        this.contentDisposition = contentDisposition;
    }

    /**
     * @return the bufferSize
     */
    public int getBufferSize() {
        return bufferSize;
    }

    /**
     * @return the allowCaching
     */
    public String getAllowCaching() {
        return allowCaching;
    }

    /**
     * @param allowCaching the allowCaching to set
     */
    public void setAllowCaching(String allowCaching) {
        this.allowCaching = allowCaching;
    }

    /**
     * @return the inputStream
     */
    public InputStream getInputStream() {
        return inputStream;
    }

    /**
     * @param inputStream the inputStream to set
     */
    public void setInputStream(InputStream inputStream) {
        this.inputStream = inputStream;
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }
}

आपने उपरोक्त को प्रदर्शित करने के तरीके के बारे में भी पूछा, निम्नलिखित एक जेएसपी है जो चित्रों की गैलरी दिखाने के लिए प्रयोग किया जाता है (इसलिए कार्रवाई इस जेएसपी को छवि आईडी प्रदान करेगी जो उपर्युक्त कार्रवाई डीबी से चित्र प्राप्त करने के लिए उपयोग करेगी और शीर्षक का शीर्षक गैलरी)।

अगर मुझे ठीक से याद है तो यह गैलरी चार चित्रों को चौड़ा करके प्रदर्शित करती है और सभी चित्रों को दिखाने के लिए जितनी आवश्यक हो उतनी पंक्तियों के साथ।

<%@taglib prefix="s" uri="/struts-tags"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1><s:property value="photoGallery.name"/></h1>
        <table>
            <s:iterator begin="0" end="pictureDetails.size/4" var="row">
                <tr>
                    <s:subset source="pictureDetails" start="4 * #row" count="4">
                        <s:iterator>
                            <s:url forceAddSchemeHostAndPort="true" namespace="/gallery" action="stream" var="streamURL">
                                <s:param name="id" value="id"/>
                            </s:url>
                            <td>
                                <s:a value="%{#streamURL}"><img width="200px" src="<s:property value="#streamURL"/>"/></s:a>
                            </td>
                        </s:iterator>
                    </s:subset>
                </tr>
            </s:iterator>
        </table>
    </body>
</html>

उपरोक्त में यह पंक्ति संभवत:यही वह हिस्सा है जो आप चाहते हैं:

<img width="200px" src="<s:property value="#streamURL"/>"/>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे जांचें कि एक MySQL कनेक्शन एसएसएल एन्क्रिप्टेड है या नहीं?

  2. पीडीओ बाइंडपरम () कई नामित मापदंडों के साथ

  3. SQL ALTER TABLE सिंटैक्स - DBMS द्वारा सूचीबद्ध

  4. पीएचपी MySQL लोड डेटा इनफाइल मदद

  5. MySQL में या अस्थायी संग्रहीत कार्यविधियों का उपयोग करके सभी संग्रहीत कार्यविधियाँ छोड़ें