我想知道为什么我的导航在第二次单击菜单项后首先起作用。
但它就在我重新启动应用程序时。在那之后,一切都可以正常工作。
我的猜测是它与支持 bean 的创建有关。以下是一些相关代码:
菜单
<p:menubar>
<p:submenu label="SMS" icon="ui-icon-contact">
<p:menuitem value="send SMS" action="#{smsb.smsInit}"></p:menuitem>
<p:menuitem value="SMS preferences" action="#{smsb.smsprefsInit}"></p:menuitem>
<p:menuitem value="Senaste utskick" action="#{sb.latestCall}"></p:menuitem>
smsb.init 是一种清除一些变量和列表的方法
public String smsInit(){
teachers = new ArrayList<SelectItem>();
this.fillTeacherList();
return "gotosmsprepare";
}
在 faces-config 导航中
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>gotosmsprepare</from-outcome>
<to-view-id>/Teacher/prepareSMS.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
如前所述,第二次点击后一切正常。
任何帮助或提示?
问候拉尔夫