我希望在正本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);
} ....
i 获得以下错误:
javax.el.MethodNotFoundException: Method not found: [email protected](javax.faces.event.AjaxBehaviorEvent)
i referred to How do I get PrimeFaces <p:selectOneMenu> to call valueChangeListener? and removed the listener from my code, kept only the value attribute for 1st dropdown,still it doesnt work, then it gives no error and the 2nd dropdown isnt filled dynamically. i am stuck in this, what is the cause of this error and how can it be solved?