![](/img/trans.png)
[英]PrimeFaces 3.2 selsectOneMenu valueChangeListener not working
[英]cascading dropdown in primefaces 3.2 not working
我希望在primefaces 3.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>
豆代码:
import java.util.List;
import javax.annotation.ManagedBean;
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.xml.ws.WebServiceRef;
import service.MasterScrip;
import service.StatelessWebService_Service;
/**
*
* @author root
*/
@javax.faces.bean.ManagedBean
@javax.faces.bean.RequestScoped
public class watchBean {
@WebServiceRef(wsdlLocation = "WEB-INF/wsdl/localhost_8080/StatelessWebService/StatelessWebService.wsdl")
private StatelessWebService_Service service;
/** Creates a new instance of watchBean */
public watchBean() {
}
String uname,scripSym,exchange;
Integer scripID;
List<UserTrack> ut;
List<MasterScrip> sl;
public List<MasterScrip> getSl() {
return sl;
}
public void setSl(List<MasterScrip> sl) {
this.sl = sl;
}
public String getExchange() {
return exchange;
}
public void setExchange(String exchange) {
sl=getAllScripByExchange(exchange);
setSl(sl);
this.exchange = exchange;
}
public void wow(ValueChangeEvent e)
{
sl=getAllScripByExchange((String)e.getNewValue());
// setSl(sl);
//FacesContext.getCurrentInstance().renderResponse();
// sl=getAllScripByExchange(exchange);
} ....
我收到以下错误:
javax.el.MethodNotFoundException: Method not found: beans.watchBean@2e1b13.wow(javax.faces.event.AjaxBehaviorEvent)
我提到了如何获取PrimeFaces <p:selectOneMenu>来调用valueChangeListener? 并从我的代码中删除了侦听器,仅保留了第一个下拉列表的value属性,但仍然无法正常工作,然后没有错误,第二个下拉列表也没有动态填充。 我陷入其中,此错误的原因是什么,如何解决?
1)从方法wow()中删除参数。 Ajax侦听器不带参数; 执行该方法时,属性“ exchange”包含新值。
2)selectOneMenus应该被h:form包围
3)第二个selectOneMenu错误。 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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.