演習として、ユーザーがログインするまで無効になっているメニューバーが必要です。ログインすると、更新をトリガーする何かを呼び出したいと思います。メニューバーは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を再度呼び出す理由にはならないことに気付きました。どうやら、ビーンにもう一度到達させるには、かなり強力なものが必要なようです。