如何通过servlet在新窗口/选项卡中打开响应



我以前在HTML页面中有两个表单,每个表单内都有一个提交表单的按钮

<form action="/MyProject/print" method="post" name="printForm"
onsubmit="return validateForm()" target="_blank">
<input type="submit" id="pdf_button" class="button"
name="print" value="${buttonPrint}"> 
</form>

对于页面流,我需要将两个按钮放在一个表单中,并在servlet中进行处理。我想知道如何在新的窗口中实现PDFis服务?

我使用以下内容,它确实有效,但在同一窗口中转发到PDF。如何将目标设置为_blank

request.getRequestDispatcher("/print").forward(request, response);

如果有人遇到同样的问题,下面是我的解决方法:

我通过JavaScript向表单添加了一个onsubmit事件,它捕捉到按下的提交按钮并更改目标&如果是pdf按钮,请执行操作。

$("form").submit(
function() {
var val = $("input[type=submit][clicked=true]").attr(
'id');
if (val == 'pdf_button') {
$("#myForm").attr('target', '_blank');
$("#myForm").attr(
'action',
/Path/To/Print/Servlet
}
});
$("form input[type=submit]").click(
function() {
$("input[type=submit]", $(this).parents("form"))
.removeAttr("clicked");
$(this).attr("clicked", "true");
});

相关内容

  • 没有找到相关文章

最新更新