2011-12-24 60 views
0

好吧,下面的代码是我在我的facelets上的下拉菜单中访问不同的页面。Java JSF导航URL问题?

<p:toolbarGroup align="right"> 
      <p:menuButton value="Navigate"> 
       <p:menuitem value="Home" url="index.xhtml" /> 
       <p:menuitem value="Reservation Form" 
          url="form.xhtml" /> 
       <p:menuitem value="Pending Requests" 
          url="pending.xhtml" /> 
      </p:menuButton> 
     </p:toolbarGroup> 

     </p:toolbar> 

现在的问题是,有时我强调有时当我按下一个链接到另一个网页,它会存在,但在酒吧的URL地址并没有改变。所以它在我看着form.xhtml时说index.xhtml示例。

我注意到的另一件事是自动完成问题。因此,有时表单页面中的自动填充会加载我之前有过的所有条目,而其他时间则不会,即使它是相同的页面。所有这些表明该页面在这里有两次不同的处理。所以当我提交表单时,它有时会起作用,而其他时候它只是失败(在FacesContext调度部分),尽管数据实际上是在DB中正确存储的。 Ay的想法? 谢谢,

+0

您使用的是PrimeFaces的哪个版本? – 2011-12-24 05:22:58

+0

我正在使用2.2.1 – 2011-12-24 06:24:00

回答

1

对于第一个问题,每个<p:menuitem>添加ajax="false"使浏览器不使用一个Ajax请求加载指定的页面。

<p:toolbarGroup align="right"> 
    <p:menuButton value="Navigate"> 
     <p:menuitem value="Home" url="index.xhtml" ajax="false" /> 
     <p:menuitem value="Reservation Form" url="form.xhtml" ajax="false" /> 
     <p:menuitem value="Pending Requests" url="pending.xhtml" ajax="false" /> 
    </p:menuButton> 
</p:toolbarGroup> 
+0

hmmm ok会做的。应该是真的,因为我读过一些事件是由于这个事件而发生的。 – 2011-12-24 06:24:30

+0

我请你原谅?第二句话没有多少意义。 – 2011-12-24 13:27:35

+0

对不起,我应该把它设置为false。我在我的搜索过程中在某处读到了这里的问题,如果不设置为false,它会触发一个UI事件或类似的事情。因此它应该被淘汰。我显然对这件事情不了解 – 2011-12-24 18:49:28