Java primefaces 3.2中的级联下拉菜单不工作

Java primefaces 3.2中的级联下拉菜单不工作,java,jakarta-ee,primefaces,Java,Jakarta Ee,Primefaces,我希望在PrimeFaces3.2中使用级联下拉菜单,但它不起作用。下面是我的xhtml代码: <p:selectOneMenu style="width: 150px" value="#{watchBean.exchange}"> <f:selectItem itemLabel="NSE" itemValue="nse"/> <f:selectItem itemLabel="BSE"

我希望在PrimeFaces3.2中使用级联下拉菜单,但它不起作用。下面是我的xhtml代码:

<p:selectOneMenu style="width: 150px" value="#{watchBean.exchange}">
                    <f:selectItem itemLabel="NSE" itemValue="nse"/>
                    <f:selectItem itemLabel="BSE" itemValue="bse"/> 
                    <p:ajax event="change" update="sym" listener="#{watchBean.wow}" />
                </p:selectOneMenu> 
            <p:selectOneMenu style="width: 150px" id="sym" value="#{watchBean.sl}" var="scrip">
                <f:selectItems  itemLabel="#{scrip.scripSymbol}" itemValue="#{scrip.scripSymbol}"/>
            </p:selectOneMenu> 
我从代码中引用并删除了侦听器,只保留了第一个下拉列表的value属性,但它仍然不起作用,然后它没有给出错误,第二个下拉列表也没有动态填充。 我陷入了这个困境,这个错误的原因是什么?如何解决它?

1)从方法wow()中删除参数。ajax监听器不接受任何参数;执行该方法时,属性“exchange”包含新值。
2) SelectOne菜单应以h:form包围
3) 第二个SelectOne菜单错误。selectOneMenu的value属性应引用组合的选定项;而不是项目列表。var属性位于f:selectItems标记中。f:selectItems标记缺少引用项目列表的value属性。应该是这样的:

<p:selectOneMenu style="width: 150px" id="sym" value="#{watchBean.selectedItem}" >
          <f:selectItems value="#{watchBean.sl}" var="scrip"
                         itemLabel="#{scrip.scripSymbol}"
                         itemValue="#{scrip.scripSymbol}"/>
</p:selectOneMenu> 

javax.el.MethodNotFoundException: Method not found: beans.watchBean@2e1b13.wow(javax.faces.event.AjaxBehaviorEvent)
<p:selectOneMenu style="width: 150px" id="sym" value="#{watchBean.selectedItem}" >
          <f:selectItems value="#{watchBean.sl}" var="scrip"
                         itemLabel="#{scrip.scripSymbol}"
                         itemValue="#{scrip.scripSymbol}"/>
</p:selectOneMenu>