Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JSF中添加动态下拉组件_Jsf_Jsf 2_Selectonemenu - Fatal编程技术网

在JSF中添加动态下拉组件

在JSF中添加动态下拉组件,jsf,jsf-2,selectonemenu,Jsf,Jsf 2,Selectonemenu,我的要求是这样的。我有一个带有一些值的选择菜单(例如:工程、医学、法律等等)。假设我在下拉列表中选择Engineering,我希望动态创建另一个下拉菜单,其中包含与工程相关的值(例如:电子、计算机、电气等)。如何在JSF2.0中实现这一点 当第一次更改h:selectOneMenu的选择时,需要执行ajax请求。此请求将更新第二个h:selectOneMenu中的可选项。在ajax请求之后,必须再次呈现第二个h:selectOneMenu,并使用更新的值 页面: <h:selectOneM

我的要求是这样的。我有一个带有一些值的选择菜单(例如:工程、医学、法律等等)。假设我在下拉列表中选择Engineering,我希望动态创建另一个下拉菜单,其中包含与工程相关的值(例如:电子、计算机、电气等)。如何在JSF2.0中实现这一点

当第一次更改
h:selectOneMenu
的选择时,需要执行ajax请求。此请求将更新第二个
h:selectOneMenu
中的可选项。在ajax请求之后,必须再次呈现第二个
h:selectOneMenu
,并使用更新的值

页面:

<h:selectOneMenu value="#{bean.selectedSubject}">
    <f:ajax listener="#{bean.changeSubject}" render="speciality_selection" />
    <f:selectItems value="#{bean.subject}" />
</h:selectOneMenu>

<h:selectOneMenu id="speciality_selection" value="#{bean.selectedSpeciality}">
    <f:selectItems value="#{bean.subjectSpecialities}" />
</h:selectOneMenu>

查看我们的
[selectonemenu]
wiki页面,了解如何获取大多数组件的更多提示:(您可以通过将我放置在问题下方的
[selectonemenu]
标记悬停,直到出现一个黑框,然后单击信息链接中的来访问它)。