我需要从<f:selectedItems>
这是我的xhtml
<h:form>
<h:panelGrid columns="3" cellpadding="5">
<p:outputLabel for="negara" value="Negara"></p:outputLabel>
<p:selectOneMenu id="negara" value="#{propinsiBacking.countryID}">
<f:selectItems value="#{propinsiBacking.listNegara}" var="negara" itemLabel="#{negara.countryName}" itemValue="#{negara.countryID}"></f:selectItems>
</p:selectOneMenu>
<p:commandButton value="Go" action="#{propinsiBacking.test}"></p:commandButton>
</h:panelGrid>
</h:form>
和我的backingBean 这是我从数据库中获取数据
private List<NegaraEntity> listNegara;
private int countryID;
@PostConstruct
public void init()
{
listNegara = negaraRules.getNegara();
}
我想从<f:selectedItem>
获取ID,所以我sytem.out.println
喜欢这个
public void test(int ctyId)
{
ctyId = countryID;
System.out.println(ctyId);
}
但这不起作用,任何想法?
感谢您的帮助。
答案 0 :(得分:2)
问题是方法public void test(int ctyId)
,因为它有一个参数int ctyid
JSF必须说:javax.el.MethodNotFoundException
更改为public void test()
请记住,在调用应用程序阶段之前会发生应用请求值阶段,因此在执行方法时已设置#{propinsiBacking.countryID}
。
答案 1 :(得分:0)
改变公共空洞测试 是
public String test()
{
System.out.println(countryID);
return "null";
}