1
我想根据所选项目更改菜单的外观。如何使用selectOneListBox和AJAX动态更改panelGroup
如何使用托管bean获取selectonelistbox的值?
豆源:
public void selectOneMenuListener(ValueChangeEvent event) {
Object newValue = (String) event.getNewValue();
selectedMenu = newValue.toString();
}
public String getSelectedMenu() {
return selectedMenu;
}
public void setSelectedMenu(String selectedMenu) {
this.selectedMenu = selectedMenu;
}
页:
<h:panelGroup id="panel">
<h:selectOneListbox id="katProduktu" valueChangeListener="#{produkt_KatBean.selectOneMenuListener}">
<f:selectItems value="#{produkt_KatBean.produkt_KatAllList}"
var="pk" itemLabel="#{pk.symbol}" itemValue="#{pk.id}"/>
<f:ajax render="produktMenu" event="change" execute="@this" />
</h:selectOneListbox>
</h:panelGroup>
<h:panelGroup layout="block" id="produktMenu">
<h:panelGroup rendered="#{produkt_KatBean.selectedMenu==1}">
Menu 1
</h:panelGroup>
<h:panelGroup rendered="#{produkt_KatBean.selectedMenu==2}">
Menu 2
</h:panelGroup>
<h:panelGroup rendered="#{produkt_KatBean.selectedMenu==3}">
Menu 3
</h:panelGroup>
<h:panelGroup rendered="#{produkt_KatBean.selectedMenu==4}">
Manu 4
</h:panelGroup>
</h:panelGroup>
谢谢!
感谢您的答复,但这种方法不不工作:( – insict
准确地说,这段代码拷贝到一个完全空白的页面,只有一个'',对我有效。你很好地理解了答案。另外,请尝试从开发者的角度而不是从最终用户的角度阐述“不起作用”。 ajax请求是否发送?调用者是否被调用?吸气剂是否被调用?房产类型是否合适? ajax响应是否正确?服务器日志没有错误?浏览器控制台没有错误?等等 –
BalusC
我收到Java异常:javax.faces.component.UpdateModelException:javax.el.PropertyNotFoundException:/index.xhtml @ 60,45 value =“#{produkt_KatBean.selectedMenu}”:属性'selectedMenu'不可写键入pl.com.pir.beans.Produkt_KatBean – insict