0

こんにちは私はJSF2.0を使用してWebサイトを構築しています。

私はcommandButtonを設定しようとしています。これを押すと、メソッドでいくつかの処理が実行され、メソッドから返される内容に応じてページに移動します。

今まで私はJSF2.0アクションナビゲーションのみを使用していましたが、私が読んだことから、2つのアクションを持つことはできないため、faces-config.xmlファイルを使用する必要があります。

作成してナビゲーションルールを作成しようとしましたが、機能しません。私のweb.xmlでそれを宣言するのはおそらく問題だと思います。元のパラメータ値を保持しようとしましたが、コードがコンパイルされないため、コメントアウトされています。

<?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> 

また、ナビゲーションが次のページに移動した後、ユーザーがクリックした内容に応じて、このページに情報を渡す方法があります。たとえば、製品番号?

あなたが提供できるどんな助けにも前もって感謝します。

4

1 に答える 1

1

web.xml/faces-config.xmlがこれにどのように関連しているかわかりません。コンテキストパラメータの問題については、別のを作成してください<context-param>。しかし、これでは問題は解決しません。ナビゲーションの問題に関しては、異なる結果を返す単一のアクションメソッドを持つことができます。

public String submit() {
    if (...) {
        return "view1";
    }
    else {
        return "view2";
    }
}
于 2012-05-03T20:00:45.597 に答える