作为一个练习,我希望有一个菜单栏在用户登录之前被禁用。当他登录时,我想调用一些会触发更新的东西。菜单栏在master.xhtml
模板文件中
<h:form >
<p:menubar id="masterMenuBar">
<p:menuitem disabled="#{backing.disableMenu}" value="List users" />
</p:menubar>
</h:form>
作为登录的一部分,我有代码来刷新表单
public void refreshForm() {
RequestContext context = RequestContext.getCurrentInstance();
context.update("form1");
context.update("masterMenuBar");
}
我尝试了调用我定义的标签的上下文更新,masterMenuBar
但RequestContext
显然不包括我的调用模板表单(这听起来很合理)。
是否有其他一些我可以调用的上下文,其中包括对我的菜单栏的上下文更新?也许我走错了路,有更好的方法来实现同样的目标吗?
我确实注意到即使调整浏览器的大小也不足以再次调用我的backing.disableMenu
bean。显然我需要一些相当坚固的东西才能让它第二次到达我的豆子。