簡體   English   中英

命令按鈕后的JSF 2.0導航

[英]JSF 2.0 Navigation after commandButton

您好,我正在使用JSF 2.0建立網站。

我試圖設置一個commandButton,以便在按下它之后它會用一種方法做一些事情,然后根據該方法返回的內容導航到一個頁面。

到目前為止,我只使用過JSF 2.0操作導航,但是從我閱讀的內容來看,不可能有兩個操作,因此必須使用faces-config.xml文件。

我嘗試創建一個並制定導航規則,但無法使其正常工作。 認為在我的web.xml中聲明它可能是一個問題。 我試圖保留原始的param值,但是代碼無法編譯,因此被注釋掉了:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
    <!--
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
    -->

    <param-name>javax.faces.CONFIG_FILES</param-name> 
  <param-value>/WEB-INF/faces-config.xml</param-value>

</context-param>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
</web-app>


<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>

我的faces-config文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">

   <navigation-rule> 
<from-view-id>/tabletsHome.xhtml</from-view-id> 
<navigation-case> 
  <from-outcome>product1</from-outcome> 
  <to-view-id>/inputForm.xhtml</to-view-id> 
</navigation-case> 
<navigation-case> 
  <from-outcome>product2</from-outcome> 
  <to-view-id>/inputForm.xhtml</to-view-id> 
</navigation-case> 

同樣,在導航將您帶到下一頁之后,還有一種方法可以根據用戶單擊的內容將信息傳遞到該頁面。 例如產品編號?

預先感謝您提供的任何幫助。

我不確定web.xml / faces-config.xml如何與此相關。 至於您的上下文參數問題,只需創建另一個<context-param> 但這無法解決您的問題。 至於您的導航問題,您只能使用一個操作方法來返回不同的結果。

public String submit() {
    if (...) {
        return "view1";
    }
    else {
        return "view2";
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM