我过去在HTML页面中有两种形式,每种形式都有一个提交它的按钮。第二个看起来像这样,并生成PDF:
<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);
答案 0 :(得分:0)
如果有人提出相同的问题,这就是我的解决方法:
我通过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");
});