Struts2 display stream pdf -
i want display pdf stream in new popup windows, when stream empty, want write error message in current page (edition.jsp)
in edition.jsp page :
<s:form id="pdf" action="exportpdf" theme="simple" target="pageedition" > ... <sj:menu name="typeedition" cssclass="edition" list="listeeditions" /> </s:form>
in struts.xml :
<action name="exportpdf" class="exportpdfaction"> <result name="success" type="stream"> <param name="inputname">inputstreampdf</param> <param name="contenttype">application/pdf</param> <param name="contentdisposition">filename="myfile.pdf"</param> <param name="buffersize">2048</param> </result> <result name="error">/web-inf/web/edition.jsp</result> </action>
javascript, when click on menu item edition
$('.edition').bind('click', function(even, data) { window.open('', 'pageedition', 'location=no, menubar=no, height=600, width=900' ); $('#pdf').submit(); });
when return error, don't want go in target page.
yes, try via ajax jquery, now, problem display pdf !
// click on menu item edition $('.edition').bind('click', function(event, data) { $('#pdf').submit(); }); $('#pdf').submit(function(event) { // stop form submitting event.preventdefault(); // post parameters var posting = $.post( $( ).attr( 'action' ), $('#pdf').serialize()); // wait results posting.done(function( data, event ) { if (data.substring(0,4) != '%pdf') { alert ("error"); } else { // format pdf recognize, not display (the stream in url, not in content) window.open('data:application/pdf,'+ data, 'pageedition', 'menubar=no, height=600, width=900' ); } });
when use solution, stream response (data parameter) not display correctly. stream in url not in content. try :
window.document.write(data);
but it's html content.
how can display pdf stream in javascript ?
thanks
Comments
Post a Comment