Jsf primefaces selectitem onclick事件
我需要一些帮助。我正在为jsf和primefacesweb应用程序开发,当我从下拉列表中选择以获取所选值时,遇到了一个问题,但在操作中得到了一个空字符串 这是我的Jsf primefaces selectitem onclick事件,jsf,primefaces,Jsf,Primefaces,我需要一些帮助。我正在为jsf和primefacesweb应用程序开发,当我从下拉列表中选择以获取所选值时,遇到了一个问题,但在操作中得到了一个空字符串 这是我的selectOneMenu标签的xhtml代码 <p:selectOneMenu value="#{tanAllot.batchName}" id="batchName"> <f:selectItem itemLabel="Select Batch" itemValue="" /> <f:s
selectOneMenu
标签的xhtml代码
<p:selectOneMenu value="#{tanAllot.batchName}" id="batchName">
<f:selectItem itemLabel="Select Batch" itemValue="" />
<f:selectItems value="#{tanAllot.batchList}" />
<p:ajax event="change" listener="#{tanAllot.test}" />
</p:selectOneMenu>
我的问题是,当我从p:selectOneMenu
标记中选择一个值时,默认方法应该在操作中调用并检索该值,但我得到的是一个空字符串
有人能帮我解决这个问题吗?考虑一下批处理列表的性质。batchList必须是字符串列表。使用itemValue属性(在f:selectItem中)可能会有所帮助 看看我的例子。它使用省的列表(“省”类的实例)。但是,我只需要“id”值,它是一个“Long”;如果我想要整个选定的省作为“省对象”,我需要一个“转换器”。(示例非常有效): 检查您的代码并随时询问。祝你好运
private String batchName;
public String getBatchName() {
return batchName;
}
public void setBatchName(String batchName) {
this.batchName = batchName;
}
public void test() {
System.out.println(batchName);
}
<p:selectOneMenu id="provinceField"
value="#{addAddressesMB.formAddress.provinceId}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{addAddressesMB.provinceList}" var="i"
itemLabel="#{i.description}" itemValue="#{i.id}" />
<p:ajax update=":formId:cityField"
listener="#{addAddressesMB.provinceChangeHandler}" />
</p:selectOneMenu>
public void provinceChangeHandler() {
//do whatever you want with formAddress.provinceId
System.out.println(this.formAddress.provinceId);
//In my case I filter the cities according to the selected provinceId
// After that I update the cities dropdown(cityField) in the view.
}