2010-11-18 229 views
0

我有這個不起作用的簡單場景:我使用icefaces,並且我有一個帶有一些inputTexts和一個提交按鈕的簡單頁面,該按鈕將重定向到另一個頁面將顯示這些inputTexts的值...我的問題是如何從請求中獲取這些inputTexts的值並將它們顯示在另一個頁面中?ICEfaces:如何將參數從一個頁面傳遞到另一個頁面

當我在其他頁面backbean使用下面的API,我得到持有inputTexts頁面的唯一名稱:

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

我真的花了很多時間試圖讓這件事的工作,所以任何幫助將不勝感激.. 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與當前的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

這對我來說非常好!非常感謝你!只有我還有一個問題,如果將標記添加到導航規則以使後退按鈕有效,則該值不會出現在下一頁中!那是什麼?! – 2010-11-19 08:46:58

相關問題