好的以下代码是我在facelets的下拉菜单中访问不同页面的代码。
<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中正确存储的。想法? 谢谢,
答案 0 :(得分:1)
对于第一个问题,请在每个ajax="false"
上添加<p:menuitem>
,以便浏览器不会使用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>