| Author |
JSF doubts
|
Govindarajan Srinivasan
Greenhorn
Joined: Nov 13, 2006
Posts: 1
|
|
1. How to invoke a servlet from js in a jsf environment? while i invoke using var slWindow = window.open("../InitServerServlet","","dialogWidth:815px;dialogHeight:390px;help:no;status:no;scroll:no;titlebar:no"); It is throwing Http 405 exception, Peage not found is displayed. But I have an entry in the web.xml for the servlet. 2. Will it be possible to open a new window from a servlet and how? 3.I have to open a pdf from a server location and read as byte array and then i am again writing it as pdf , but I get illegal state exception, output stream already obtained ( Basically I need to print a pdf from the clinet side) public class Test1 extends PageCodeBase { protected HtmlForm TestForm; protected HtmlCommandButton continueButton; protected HtmlCommandButton printButton; public String printAction() { try { downLoad("56456-ch09.pdf"); } catch(Exception e) { e.printStackTrace(); } return ""; } protected void downLoad(String fileName)throws Exception { String fileType=null; ServletOutputStream servletOutStream=null; byte[] fileByteArray = createFileByteArray(fileName); fileType=fileName.substring(fileName.lastIndexOf(".")+1); try { HttpServletResponse response = (HttpServletResponse)facesContext.getExternalContext().getResponse(); servletOutStream=response.getOutputStream(); if(fileType.equalsIgnoreCase("html")){ response.setContentType("application/html"); }else { response.setContentType("application/pdf"); } response.setHeader("Content-disposition", "inline;filename="+fileName+"\""); //response.setHeader("Content-disposition", "attachment;filename="+fileName+"\""); servletOutStream.write(fileByteArray); } catch (Exception e) { e.printStackTrace(); throw e; } finally{ try { if(servletOutStream!=null){ servletOutStream.flush(); servletOutStream.close(); } } catch (Exception e) { e.printStackTrace(); throw e; } } facesContext.responseComplete(); } /** * @param fileName * @return */ public byte[] createFileByteArray(String fileName)throws Exception { byte[] fileByteArray = new byte[1024]; FileInputStream fileInputStream=null; if(fileName!=null && !fileName.equals("")){ try{ String downLoadPath=Config.getString("form.upload.path","EM"); File downLoadFile= new File(downLoadPath+"\\"+fileName); fileInputStream = new FileInputStream(downLoadFile); int size =(int)downLoadFile.length(); fileByteArray = new byte[size]; fileInputStream.read(fileByteArray); }catch(Exception exp){ exp.printStackTrace(); throw exp; } } return fileByteArray; }
|
 |
 |
|
|
subject: JSF doubts
|
|
|