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

单击链接时使用java在弹出窗口中显示原始xml,java,javascript,xml,jsp,struts,Java,Javascript,Xml,Jsp,Struts,我使用Struts1.x和jsp作为视图来显示。 希望在jsp中单击链接时在新的弹出窗口中显示整个xml文件。到目前为止,我已经设法打开弹出窗口,但我得到一个空白窗口,并在browserIE9中保存/打开/取消链接。当单击“保存”时,我得到的是“url.do”,但我只想显示浏览器中的xml内容,只是不想保存 下面是我在javascript函数中编写的内容 function viewXML(bcFileNo){ popupwin = window.open("about:blank", "popu

我使用Struts1.x和jsp作为视图来显示。 希望在jsp中单击链接时在新的弹出窗口中显示整个xml文件。到目前为止,我已经设法打开弹出窗口,但我得到一个空白窗口,并在browserIE9中保存/打开/取消链接。当单击“保存”时,我得到的是“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";
}
这是我在行动课上写的

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();
试一试


相反。

您是否尝试在响应中添加内容处置


如果不是,那就先试试。它可能对您有用

谢谢您的帮助。让它工作起来。在使用输出流编写之后,我在action类中转发到其他url。
将return设置为null,它工作正常。我可以在弹出窗口中查看xml。

也尝试了,但仍然得到相同的输出…也尝试了xml。更新了我的答案,以包含内联内容。我不认为这是必要的,只是以防万一。嗨,兄弟,即使添加了response.addHeaderContent-disposition,inline;,也不起作用;。无论如何,谢谢你的帮助。让它工作起来。在使用输出流编写之后,我在action类中转发到其他url。将return设置为null,它工作正常。我能够在弹出窗口中查看xml。
response.setContentType("application/xml");
response.addHeader("Content-disposition", "inline");