gpt4 book ai didi

java - selectOneMenu 和 selectItems

转载 作者:行者123 更新时间:2023-11-30 05:11:29 25 4
gpt4 key购买 nike

我正在尝试使用 selectOneMenu 制作过滤器。

我有两个类别,当一个类别被选中时,必须过滤显示的结果,还有第二个类别。

JSF 代码:

<div id="box-categories" class="box-left">
<b>Filter by topic</b>
<h:selectOneMenu id="cat1" binding="#{interfaceContainer.documentFormContainer.selectOnes['cat1'].selectOne}" rendered="true" onchange="javascript:refreshResults(); return false;">
<f:selectItems value="#{interfaceContainer.documentFormContainer.selectOnes['cat1'].items}" />
</h:selectOneMenu>
<b>and subtopic</b>
<h:selectOneMenu id="cat2" binding="#{interfaceContainer.documentFormContainer.selectOnes['cat2'].selectOne}" rendered="true" onchange="javascript:refreshResults(); return false;" value="#{interfaceContainer.documentFormContainer.selectOnes['cat2'].value}">
<f:selectItems value="#{interfaceContainer.documentFormContainer.selectOnes['cat2'].items}" />
</h:selectOneMenu>
</div>

但是当我尝试使用此 java 代码获取值时遇到问题:

public String getStringValue(){
if ( this.selectOne ==null || this.getSelectOne().getValue()==null)
return "";
return this.getSelectOne().getValue().toString();
}

我意识到问题出在 getValue() 上,因为调试时, this.getSelectOne() 是正确的值,但 this.getSelectOne().getValue() 为 null。

有什么想法吗?提前致谢

最佳答案

UIInput#getValue()当您尝试在更新模型值阶段之前的任何阶段访问它时,将返回 null。您显然是在 JSF 生命周期中的“错误”时刻访问它。不管怎样,在没有 Ajax 帮助的情况下在 JSF 中创建依赖下拉菜单是很糟糕的。

长话短说,具体操作方法如下:Populate child menu's (带有完整且有效的代码示例)。

关于java - selectOneMenu 和 selectItems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3235499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com