Matt wrote : >Hi Madhav, >This is an interesting requirement. Off the top of my head I'd say you could >probably make a custom component to wrap the section you want to capture. Then >in that components renderer, in the >encodeBegin method you switch the >responseWriter to a StringWriter or some other writer. Then in encodeEnd you >save the contents of the StringWriter somewhere you can use it later and set >back the >correct responseWriter, and if you still want to write the response >you can do so. Also you need to override rendersChildren and have it return >true. The code would look something like this. > >private ResponseWriter oldWriter; >private StringWriter sWriter; >// encodeBegin > >sWriter = new StringWriter(); >HtmlResponseWriterImpl writer = new HtmlResponseWriterImpl(sWriter, >"text/html","utf-8"); > >oldWriter = context.getResponseWriter(); >context.setResponseWriter(writer); > > >//encodeEnd >StringBuffer sb = sWriter.getBuffer(); >// do what you want with the sb >context.setResponseWriter(oldWriter); >// if you want to output it as well... >oldWriter.write(sb.toString()); > >I think this may work for what you want to do. > >Matt
Initially i tried doing that using a call to a method on click of a link but then i realized that it will still output the entire HTML including the left navigation, header and footer. I created a custom component to capture the part of the Page. I provided 2 attributes - targetPath - where to save the Html output and isCaptured - to conditionally capture It works well. Thanks for all your help. Regards, Madhav ________________________________ From: Madhav Bhargava [mailto:[email protected]] Sent: mercredi 3 décembre 2008 11:51 To: MyFaces Discussion Subject: Attach the current JSF View as an attachment Hi All, I have a rather unique requirement - On a JSF page I have a command button. On click of this button I want to capture the generated HTML for the current view I am on, truncate the left navigation, header and the footer. Extract the body HTML and open a save dialog box to save this HTML page with only body as attachment. Any ideas of how it could be done using JSF? Thanks, Madhav **************** CAUTION - Disclaimer ***************** This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system. ***INFOSYS******** End of Disclaimer ********INFOSYS***

