JSF页面中的多个操作的问题

时间:2015-02-05 12:59:50

标签: jsf


我有一个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再次踢。这似乎是两个行动之间的冲突。我该如何解决它并添加一个按钮来返回另一个页面?
感谢

1 个答案:

答案 0 :(得分:2)

不要这么做。使用<h:button>生成GET按钮。

<h:button id="back" value="Back" outcome="home.xhtml" />

顺便说一句,第二个<h:commandButton>最好只是普通的香草<input type="submit">