您的位置:首页 > 产品设计 > UI/UE

用JSF的valueChangeListener实现表单联动

2010-07-21 11:03 369 查看
用JSF的valueChangeListener也是可以实现表单联动的,当下拉框中选择一个值后,会往后台backbean中传入刚才所选中的ID,这个ID可以做为另外一个下拉框内容的查询条件,具体如下:
JSP页面
下拉框1:

<h:panelGroup>
<h:selectOneMenu id="planID" value="#{testBB.planID}" onchange="submit();" valueChangeListener="#{testBB.changeStatus}">
<c:selectItems value="#{testBB.queryList}"></c:selectItems>
</h:selectOneMenu>
</h:panelGroup>
下拉框1中的内容在页面进行初始化的时候对数据库进行查询,将查询到的结果封装到list中,在页面上用selectOneMenu一关联就出来了。主要是看它是怎么和另一个下拉框关联起来的,当下拉框1选中内容时,会触发onchange事件,此时会调用valueChangeListener中指定的方法,同时会将选中值的ID传入后台,代码如下:

public void changeStatus(ValueChangeEvent event){
......
planID = event.getNewValue().toString();//得到页面传过来的planID
......
resultList = testucc.getPersons(planID);//调用查询数据库的语句
}
这样根据第一个下拉框传过来的planID查询出来的结果就封装到了list中,getPersons方法是对查询结果进行具体封装的

下拉框2:

<h:panelGroup>
<h:selectOneMenu id="itemID" value="#{testBB.itemID}">
<c:selectItems value="#{testBB.resultList}"></c:selectItems>
</h:selectOneMenu>
</h:panelGroup>通过与resultList进行关联下拉框2中的值就出来了本文出自 “博客即日起停止更新” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/354186
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: