如何从selectonemenu JSF获取itemvalue

时间:2017-10-04 01:38:31

标签: java jsf

我需要从<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>

和我的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);
}

但这不起作用,任何想法?

感谢您的帮助。

2 个答案:

答案 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";
}