在我的应用程序中,如果设置了另一个SelectOneMenu,我正在尝试设置/更新SelectOneMenu.我们正在使用primefaces,所以我检查了primefaces展示,找到了我正在寻找的东西.不幸的是它不起作用.事件没有解雇,我不知道为什么.希望你能帮助我
Link to the Example of the primefaces showcase
– >如果设置了语言,它应该自动重新加载带有称呼的列表,但事实并非如此.我必须按F5重新加载.有任何想法吗?
我的xHTML代码
<h:form id="addressBasicsForm"> <p:growl id="growl" sticky="true" showDetail="true"/> <p:tabView id="tabView"> <p:tab id="stammdaten" title="#{msg.adr_basics_tabtitle}"> <table style="width:100%;"> <tr> <td style="width: 50%;"> <p:panel toggleable="false"> <table style="margin-top:3px; width:100%;"> <tr style="height:26px;"> <td> <p:selectOneMenu id="somLang" value="#AddressBasics_m.languageId}" style="margin-left:2px; width:90%;"> <f:selectItems value="#{AddressBasics_m.languageItems}"/> <p:ajax update="somAnrede" listener="#{AdressBasics_m.handleLanguageChange}"/> </p:selectOneMenu> </td> </tr> <tr style="height:26px;"> <td> <p:selectOneMenu id="somAnrede" value="#AddressBasics_m.salutationId}" style="margin-left:2px; width:90%;"> <f:selectItems value="#{AddressBasics_m.salutationItems}" /> </p:selectOneMenu> </td>
我的豆
@Named("AddressBasics_m") @ConversationScoped public class AddressBasicsView implements Serializable{ private static final long serialVersionUID = -4034697810438325785L; public List<SelectItem> getSalutationItems(){ if(firstrun) languageId = 21L; firstrun = false; if(salutationItems == null || lastLanguageId != languageId){ salutationItems = addressService.getAllSalutationsByLangId(languageId); setLastLanguageId(languageId); } return salutationItems; } public void handleLanguageChange(){ this.salutationItems = getSalutationItems(); }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。