2013-04-26 48 views
-2

我有以下代碼:JSF發送隱藏輸入到另一個JSF

<h:commandLink action="#{clController.action()}" 
    value="#{item.code}" > 
    <input type="hidden" name="address" value="#{item.address}" /> 
    <input type="hidden" name="address" value="#{item.name}" /> 
    <input type="hidden" name="address" value="#{item.taxDept}" /> 
</h:commandLink> 

頁中列出像上面超過12個鏈接。我想要做的是將所有這些隱藏信息發送給另一個用戶點擊的jsf。

當我點擊commandLink它會進入其他頁面。但是,我如何顯示這些值?

+0

現在是答案更清楚了嗎? – 2013-04-27 02:11:29

回答

0
  1. 您不能直接在JSF中使用<input />

  2. 您的輸入具有相同的名稱。

  3. 在JSF中,發佈的值與動作(如果未指定)在同一個<h:form />之內。

你可以使用一些簡單的參數:

<h:commandLink action="start" actionListener="#{clController.actionListener}"> 
    <f:attribute name="item" value="#{item}" /> 
</h:commandLink> 

public void actionListener(ActionEvent event) 
{ 
    ClDataModel item = (ClDataModel)event.getComponent().getAttributes().get("item"); 

    System.out.print(item.getTaxDept()); 
    System.out.print(item.getAddress()); 
    System.out.print(item.getName()); 
} 
+0

提到的3點都不完全正確,前兩個基本上都是錯誤的。儘管如此,答案仍然是正確的,但還有更多的方法可以實現這一目標。 – skuntsel 2013-04-27 08:18:31

+0

閱讀他的另一個重複的問題,但有更多的信息:http://stackoverflow.com/questions/16245343/why-jsf-sends-the-first-links-information-to-the-back-bean – 2013-04-27 17:51:16