每次调用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>
答案 0 :(得分:4)
此构造中不支持<f:param>
。对于JSF 1.2,它仅在<h:commandLink>
,<h:outputLink>
和<h:outputFormat>
中受支持。最好的选择是<f:attribute>
。
<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"));
// ...
}