我有一个JSF 2.2 + Primefaces 5 Web应用程序,它包含一个带有多种可能结果的.xhtml:
<h:body>
<script type="text/javascript">
function download(file) {
document.forms[0].elements["filename"].value = file;
document.forms[0].submit();
}
function back() {
document.forms[0].method = "get";
document.forms[0].action = "home.xhtml";
document.forms[0].submit();
}
</script>
<form id="download" action="DownloadServlet" method="post">
. . . .
<h:commandButton id="back" value="Back" onclick="back();" />
<h:commandButton id="download" value="Download" type="Submit"
onclick="download('#{value}');" />
</form>
点击&#34;下载&#34;按钮,Servlet&#34; DownloadServlet&#34;启动并下载在表单中选择的文件。
但是,通过单击“返回”按钮,我没有重定向到页面&#34; home.xhtml&#34;。 Javascript函数&#34;返回&#34;根本没有调用,但Servlet再次踢。这似乎是两个行动之间的冲突。我该如何解决它并添加一个按钮来返回另一个页面?
感谢
答案 0 :(得分:2)
不要这么做。使用<h:button>
生成GET按钮。
<h:button id="back" value="Back" outcome="home.xhtml" />
顺便说一句,第二个<h:commandButton>
最好只是普通的香草<input type="submit">
。