2012-03-02 18 views
0

私はJSFプロジェクトを持っていますが、既にうまく動作しているindex.xhtmlページがあります。何らかの理由で別のXHTMLページを追加しようとすると、セッションスコープのマネージドBeanに接続されません。新しいページにコードを追加しますが、それは私のindex.xhtmlのようには機能しません。私はインデックスからコードをコピーして貼り付けても、まだ動作しません。何かご意見は?ここでJSFの新しいWebサイトの作成

は、私は私の新しいページを持っているコードの一部である:ここで

Amount: <h:inputText value="#{transactionBean.amount}" style="color: Yellow; background: Teal;"/> 
Price <h:inputText value="#{transactionBean.pricePaid}" style="color: Yellow; background: Teal;"/ 

は私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> 
    </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> 
+0

特定してください。何が「うまくいかない」?ブラウザまたはserver.logにエラーがありますか? HTMLはレンダリングされませんか? –

+0

エラーは表示されません。何も表示されません。何も表示されません。金額と価格のみがページに表示されます。入力テキストなどがありません – apoellitsi

+0

2番目のページがfacesサーブレットによって処理されていない可能性があります。ブラウザのソースには何がありますか? –

答えて

1

。つまり、facesサーブレットを実行するには、URLに/facesパスを含める必要があります。

だから、あなたは

http://localhost:8080/SharePortfolioJSF/companies.xhtml

でページを開くべきではありませんが、代わりにはるかに良い

http://localhost:8080/SharePortfolioJSF/faces/companies.xhtml

によって、しかし、ちょうどにありますを使用をfacesサーブレットのURLパターンとして使用して、仮想パスを覚える必要はありません。

<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>*.xhtml</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>index.xhtml</welcome-file> 
</welcome-file-list> 

(ちょうどそれを削除し、30分のあなたの<session-timeout>が既にデフォルトであることに注意)

+0

はい、ありがとうございました。ありがとうございました! – apoellitsi

+0

問題ありません;-)! –

+0

ようこそ。 – BalusC

1

のコメント:

あなたの2番目のページではありませんfacesサーブレットによって処理されます。 facesサーブレットのURLパターンは/faces/*です。サーブレットによって処理されるためには、すべての要求にプレフィックス/facesが含まれていなければなりません。

それはあなたが以下のURLでページを呼び出す場合は動作するはずです:あなたは/faces/*代わりの*.xhtmlに顔サーブレットをマッピングしました

http://localhost:8080/SharePortfolioJSF/faces/companies.xhtml

関連する問題