Jsf 将参数传递给a4j:ajax方法
我试图使用Jsf 将参数传递给a4j:ajax方法,jsf,jsf-2,ajax4jsf,Jsf,Jsf 2,Ajax4jsf,我试图使用为一个方法提供一个刚刚在表单上输入的值 <h:selectOneMenu id="aa" value="#{colorClass.color}"> <f:selectItems value="#{myChoices.colorOptions}"/> <a4j:ajax event="change" render="colorCode" execute="#{myChoices.getColorCode(colorClass
为一个方法提供一个刚刚在表单上输入的值
<h:selectOneMenu id="aa" value="#{colorClass.color}">
<f:selectItems value="#{myChoices.colorOptions}"/>
<a4j:ajax event="change" render="colorCode"
execute="#{myChoices.getColorCode(colorClass,colorClass.color)}"/>
</selectOneMenu>
调用该方法,查找颜色代码并重新绘制表单
如何“获取”刚刚输入的值,以便将其作为参数传递给方法?您需要的是
侦听器
属性,而不是执行
属性。execute
属性应指向要提交的客户端ID集合(在
中默认为@this
,在
中默认为@form
)。但是,在您的特定情况下,它返回void
,并保持execute
为空。listener
属性应该指向bean操作侦听器方法。相应地进行修正:
<a4j:ajax event="change" render="colorCode"
listener="#{myChoices.getColorCode(colorClass,colorClass.color)}"/>
非常感谢,这次成功了!
<a4j:ajax event="change" render="colorCode"
listener="#{myChoices.getColorCode(colorClass,colorClass.color)}"/>
<a4j:ajax event="change" render="colorCode"
listener="#{myChoices.getColorCode(colorClass.color)}"/>