2013-04-26 28 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