2010-11-18 20 views
0

私はこの単純なシナリオがうまくいかない:私はアイスフェイスを使用していますが、いくつかのinputTextと送信ボタンを持つ単純なページを持っています。これらのinputTextsの値を表示します...私の質問は、どのように私は要求からこれらのinputTextsの値を取得し、別のページに表示することができますか?動作するようにこの事を取得しようと、私は本当に多くの時間を費やしたのICEfaces:1つのページから別のページにパラメータを渡す方法

FacesContext.getCurrentInstance().getExternalContext().getRequestMap(); 

:私は他のページbackbeanに、次のAPIを使用する場合

は、私はinputTextsを保持しているページの名前のみを取得します任意の助けが理解されるであろうよう.. THX

私のページのコードは次のとおりです。

<ice:form id="form1"> 
<table border="0"> 
    <tbody> 
     <tr> 
      <td><ice:outputText value="Name"></ice:outputText><br></br></td> 
      <td><ice:inputText id="name" value="#{newContest.name}"></ice:inputText></td> 
     </tr> 
     <tr> 
      <td><ice:outputText value="End Date"></ice:outputText></td> 
      <td><ice:inputText id="endDate" value="#{newContest.endDate}"></ice:inputText></td> 
     </tr> 
     <tr> 
      <td><ice:outputText value="private? (only you can see the entries)"></ice:outputText></td> 
      <td><ice:inputText id="private" value="#{newContest.isPublic}"></ice:inputText></td> 
     </tr> 
     <tr> 
      <td><ice:outputText value="Price"></ice:outputText></td> 
      <td><ice:inputText id="price" value="#{newContest.price}"></ice:inputText></td> 
     </tr> 
     <tr> 
      <td><ice:outputText value="Description"></ice:outputText></td> 
      <td><ice:inputTextarea id="description" value="#{newContest.description}"></ice:inputTextarea></td> 
     </tr> 
     <tr> 
      <td><br></br><ice:commandButton value="proceed to payment" style="color:blue" action="#{newContest.createContest}"></ice:commandButton></td> 
     </tr> 
    </tbody> 
</table> 

答えて

1

次のように、別のBeanをfaces-config.xml内の管理プロパティとして現在のものとバインドできます。

<managed-bean> 
     <managed-bean-name>newContest</managed-bean-name> 
     <managed-bean-class>com.newContest</managed-bean-class> 
     <managed-bean-scope>request</managed-bean-scope> 

     <managed-property> 
     <property-name>anotherBackingBean</property-name> 
      <property-class>com.AnotherBackingBean</property-class> 
      <value>#{anotherBackingBean}</value> 
    </managed-property>  
    </managed-bean> 


<navigation-rule>  
      <navigation-case> 
      <from-outcome>view-anotherBackingBean</from-outcome> 
      <to-view-id>/jsp/another-page.jspx</to-view-id> 
     </navigation-case> 
    </navigation-rule> 

豆コンテンツ

Class NewContest { 

public AnotherBackingBean anotherBackingBean; 

//-- set/get & other methods 

public String redirectToAnotherBackingBean(){ 

     anotherBackingBean.setSomeObject(object); 

     //-- set custom fields 

     return "view-anotherBackingBean"; 
    } 

} 

次に、あなたは現在のBeanに設定されている他のBeanであなたのフィールドが直接利用できる得ることができます。

+0

それは私のために非常にうまくいった!どうもありがとうございました!バック・ボタンが機能するようにナビゲーション・ルールにタグを追加すると、次のページに値が表示されません。それは何ですか?! –