0

我想知道为什么我的导航在第二次单击菜单项后首先起作用。
但它就在我重新启动应用程序时。在那之后,一切都可以正常工作。

我的猜测是它与支持 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>

如前所述,第二次点击后一切正常。

任何帮助或提示?

问候拉尔夫

4

1 回答 1

0

我也有同样的问题,加入ajax="false"p:menuItem对我有用

于 2013-06-25T14:03:29.877 回答