Java 许多SelectOne菜单以不同的行相互依赖
我有很多行(在一张桌子上)。Java 许多SelectOne菜单以不同的行相互依赖,java,jsf,selectonemenu,Java,Jsf,Selectonemenu,我有很多行(在一张桌子上)。 在第一行中,我有三个SelectOne菜单: 第一个包含大陆的名称 第二个包含城镇名称(取决于在第一个SelectOne菜单中选择的大陆) 第三个包含村庄名称(取决于在第二个SelectOne菜单中选择的拖车) 在第二行和下一行中,它与three SelectOne菜单相同,但具有其他值 所有这些selectOneMenu都使用转换器。 像这样 <p:selectOneMenu id="id" value="#{xValue}" converter="xCo
在第一行中,我有三个SelectOne菜单:
<p:selectOneMenu id="id" value="#{xValue}" converter="xConverter" >
<f:selectItem itemLabel="-----" />
<f:selectItems value="#{lstItemsForSelectOneMenu}" />
<p:ajax event="valueChange" listener="#{xChange()}" update="thingsToUpdate"/>
</p:selectOneMenu>
我的问题是转换器xConverter
在方法xChange()
之前执行
下面的示例解释了为什么这对我来说是个问题:如果用户在第一行中选择:
大陆:美国。城镇:
Washington
3。村庄:巴尔的摩
在第二个选项中,他选择了
1.大陆:非洲。城镇:突尼斯3。村庄:
Sfax
选择
Sfax
后,他立即返回第二个SelectOne菜单中的第一行,在这种情况下,系统如何知道用户选择了转换器中第一行的SelectOne菜单
多亏了转换器在渲染组件时执行,因为它们支持选项的渲染,并允许从选定项跳到它所表示的实际对象,反之亦然。如果发生这种情况,可能是因为您的第三个
selectOneMenu
正在更新/呈现上一个菜单。在为第三个菜单选择新值时,是否使用
呈现第二个菜单?是的,第三个SelectOne菜单取决于第二个菜单的值one@Gamb询问您在ajax调用中到底更新了什么。你能把整张桌子的代码写出来吗?如果只给出一个selectOneMenu
标记示例,则很难看到问题。谢谢,我在[如何在java中将参数值传递给转换类?][1][1]中找到了解决方案: