【问题标题】:JSF sending a hidden input to another jsfJSF 向另一个 jsf 发送隐藏输入
【发布时间】:2013-04-26 20:20:12
【问题描述】:

我有以下代码:

<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 时,它会转到其他页面。但是我怎样才能显示这些值呢?

【问题讨论】:

  • 现在答案更清楚了吗?

标签: java jsf


【解决方案1】:
  1. 不能在 JSF 中直接使用&lt;input /&gt;

  2. 您的输入具有相同的名称。

  3. 在 JSF 中,发布的值是与操作相同的 &lt;h:form /&gt; 内的值(如果未指定)。

你可以使用一些简单的东西作为参数:

<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());
}

【讨论】:

  • 上面提到的三点都不是完全正确的,前两点基本上是错误的。答案仍然是正确的,尽管还有很多方法可以实现这一目标。
  • 阅读他的另一个重复但有更多信息的问题:stackoverflow.com/questions/16245343/…
猜你喜欢
  • 2013-08-18
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 1970-01-01
  • 2014-08-11
  • 2014-07-31
  • 2012-01-17
相关资源
最近更新 更多