【问题标题】:Send an f:param when a ValueChangeListener is invoked调用 ValueChangeListener 时发送 f:param
【发布时间】:2012-01-03 15:06:32
【问题描述】:

我想发送一个请求参数,每次调用ValueChangeListener。我已经通过以下方式实现了它,但不幸的是它不起作用。

这是代码,您可以了解一下。

<h:selectOneMenu value="#{MyBean.code}" 
   valueChangeListener="#{MyBean.codeChanged}" onchange="this.form.submit()">
   <f:selectItems value="#{MyBean.codeItems}" />
   <f:param name="validation" value="true" />
</h:selectOneMenu>

【问题讨论】:

  • 参数是selectItems的值吗?
  • 不,参数是标志validation
  • 您可以尝试将 添加为 的子项

标签: jsf parameters jsf-1.2 valuechangelistener


【解决方案1】:

此构造不支持&lt;f:param&gt;。对于 JSF 1.2,它仅在 &lt;h:commandLink&gt;&lt;h:outputLink&gt;&lt;h:outputFormat&gt; 中受支持。你最好的选择是&lt;f:attribute&gt;

<h:selectOneMenu value="#{MyBean.code}" 
    valueChangeListener="#{MyBean.codeChanged}" onchange="this.form.submit()">
    <f:selectItems value="#{MyBean.codeItems}" />
    <f:attribute name="validation" value="true" />
</h:selectOneMenu>

public void codeChanged(ValueChangeEvent event) {
    UIInput menu = (UIInput) event.getComponent();
    boolean validation = Boolean.valueOf(component.getAttributes().get("validation"));
    // ...
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
  • 2012-01-03
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
  • 2016-05-21
  • 2013-05-02
相关资源
最近更新 更多