java - 如何从 selectonemenu JSF 获取项目值

标签 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);
}

但这不起作用,有什么想法吗?

感谢您的帮助。

最佳答案

问题出在方法public void test(int ctyId),因为它有一个参数int ctyid

JSF 必须说:javax.el.MethodNotFoundException

更改为 public void test() 请记住,应用请求值阶段发生在调用应用程序阶段之前,因此在执行方法时已设置 #{propinsiBacking.countryID} .

关于java - 如何从 selectonemenu JSF 获取项目值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46555771/

相关文章:

java - JSF 的托管 bean 中的 getter 和 setter 都是强制性的吗?

java - HK2/Jersey 不注入(inject)非资源类

java - 抽象类中的模拟时钟抛出 NullPointerException

Java 历史记录在大量消息时抛出 IllegalStateExecption

jsf - Primefaces 进度条没有更新?

java - 将 Jquery 事件附加到 JSF 数据表

java - 使用新字段更新 Google 数据存储的最佳方式是什么?

java - 试图理解 3 个嵌套的 if 语句

jsf - PrimeFaces 7.0 Ajax 更新警告

javascript - <富 :calendar> client side disable weekends