जब ब्राउज़र के लिए कच्चे डेटा भेजने JSF उपयोग कर, आप FacesContext
से HttpServletResponse
निकालने के लिए की जरूरत है।
HttpServletResponse
का उपयोग करके, आप मानक आईओ एपीआई का उपयोग कर ब्राउज़र में कच्चे डेटा भेज सकते हैं।
यहाँ एक कोड नमूना है:
public String getFile() {
byte[] pdfData = ...
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
OutputStream out = response.getOutputStream();
// Send data to out (ie, out.write(pdfData)).
}
इसके अलावा, यहाँ कुछ अन्य बातों के आप विचार करना चाह सकते हैं:
- ब्राउज़र आप कर रहे हैं सूचित करने के लिए HttpServletResponse में सामग्री प्रकार सेट करें पीडीएफ डेटा भेजना: response.setContentType ("एप्लिकेशन/पीडीएफ");
- संदर्भ.responseComplete() विधि का उपयोग कर FacesContext को सूचित करें कि आपने सीधे उपयोगकर्ता को डेटा भेजा है। यह जेएसएफ को अतिरिक्त प्रसंस्करण करने से रोकता है जो अनावश्यक है।
स्रोत
2010-08-28 19:32:04
बहुत बहुत धन्यवाद :), हालांकि मैं वोट नहीं दे सकता (प्रतिष्ठा)। – marioosh
इस पोस्ट के लिए धन्यवाद। –
बस जो आवश्यक था उसे मिला। धन्यवाद। – user