单击链接时使用java在弹出窗口中显示原始xml

时间:2014-07-29 05:36:47

标签: java javascript xml jsp struts

我使用Struts 1.x和jsp作为视图来显示。 当在jsp中单击链接时,想要在新的弹出窗口中显示整个xml文件。到目前为止,我已经设法打开弹出窗口但是我得到一个空白窗口并在浏览器中保存/打开/取消链接(IE9)。当点击保存我得到'url.do',但我只是想在浏览器中显示xml内容,只是不想保存。

这是我在javascript函数中编写的内容

function viewXML(bcFileNo){
popupwin = window.open("about:blank", "popupwin", "toolbar=no, resizable=yes, menubar=no, scrollbars=yes, status=no, location=no, width=900 , height=400");
var form = document.forms['BirthCertificateForm'];
form.action = "/Vista-Web/birthCertificateOverview.do?method=viewBirthCertificateDetails&bCertFileNo="+bcFileNo;
form.target = "popupwin";
form.submit();
form.target = "_self";
}

这是我在Action类中编写的内容

String xmlContent = getXMLContent();
byte[] birthCertBytes = xmlContent.getBytes();
// set xml content
response.setContentType("html/xml");
// write the content to the output stream
BufferedOutputStream outStream = new BufferedOutputStream(response.getOutputStream());
outStream.write(birthCertBytes);
outStream.flush();
outStream.close();

3 个答案:

答案 0 :(得分:0)

尝试

response.setContentType("application/xml");
response.addHeader("Content-disposition", "inline");

代替。

答案 1 :(得分:0)

您是否尝试在回复中添加内容处置?

如果不是先试试。它可能对您Content Disposition

有用

答案 2 :(得分:0)

感谢您的帮助。搞定了。在使用输出流写入后,我转发到动作类中的其他url。 将return设置为null,它工作正常。我可以在弹出窗口中查看xml。