我需要从<f:selectedItems>
获取itemValue
这是我的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>
和我的后盾豆 这是我从数据库中获取数据
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);
}
但这不起作用,有什么想法吗?
感谢您的帮助。
问题是方法public void test(int ctyId)
,因为它有一个参数int ctyid
JSF必须说:javax.el.MethodNotFoundException
更改为public void test()
请记住,应用请求值阶段发生在调用应用程序阶段之前,因此在执行方法时已经设置了#{propinsiBacking.countryID}
。
更改公共无效测试 是
public String test()
{
System.out.println(countryID);
return "null";
}