这是我的代码:
<h:form>
<p:selectOneMenu id="handlerSelect" value="#{caseController.case.handler}" style="width:182px">
<f:selectItems value="#{handlerController.findAllHandlers()}"
var="handlerSelect" itemLabel="#{handlerSelect.name}"
itemValue="#{handlerSelect}" />
<p:ajax event="change"listener="#{caseController.changeHandler(handlerSelect)}"/>
</p:selectOneMenu>
</h:form>
当我更改值并触发ajax事件并调用该changeHandler
方法时,该changeHandler
方法将null作为参数。它应该是所选的处理人员。为什么它为空?
更新:我忘了将该组件放在h:form标记中...但是现在添加了那些,我得到了转换错误:Conversion Error setting value '(Handler:2)' for 'null Converter'.
好的,主要原因是该组件最初不在h:form-tags内,其次我不得不使用omnifaces转换器来修复转换错误。因此,最终的工作代码如下所示:
<h:form>
<p:selectOneMenu id="handlerSelect" value="#{caseController.case.handler}"
converter="omnifaces.SelectItemsIndexConverter" style="width:182px">
<f:selectItems value="#{handlerController.findAllHandlers()}"
var="handlerSelect" itemLabel="#{handlerSelect.name}"
itemValue="#{handlerSelect}" />
<p:ajax event="change"listener="#{caseController.changeHandler(handlerSelect)}"/>
</p:selectOneMenu>
</h:form>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句