2012-08-07 98 views
3

上了车JSF 2导航机制一个很简单的问题:JSF commandLink没有更新网址正确

我有两个观点,称之为“ProductEdit”和“产品列表”,以请求范围支持豆(我不认为无论如何,这是相关的)。我在“ProductEdit”视图

  <h:commandLink action="#{product.update('')}"> 
       <h:outputText value="Update And Return"></h:outputText> 
       <f:param name="pageNo" value="#{productlist.pageNo}" /> 
      </h:commandLink> 

以下行当用户点击“更新与回归”中的“ProductEdit”视图链接,则执行指定的动作(在JSF相当标准)和结果它的'ProductList'视图和用户被引导到页面没有问题。然而,尽管显示的视图是'ProductList'视图,但该页面的URL仍然保留在我的浏览器中的'ProductEdit'中。

当然URL必须更新,我做错了什么?

Hoping BalusC现在在线!

回答

4

对不起,我以前的答案,你可以添加"?faces-redirect=true"在你的行动返回的链接的结束。或者,如果您要使用PrimeFaces,只需将参数ajax设置为false即可。

编辑

public String update() { 
    return "index?faces-redirect=true"; 
} 

我将借用BalusCs answers之一 - 在这里你可以看到一些方法如何做到这一点。

+0

但是,这不会执行我需要运行的操作product.update('')! – ManiP 2012-08-07 13:34:04

+0

我在哪里添加到?即将“?faces-redirect = true”追加到视图名称的位置?不使用PF。 – ManiP 2012-08-07 13:39:49

+0

不,在更新方法中。这个方法必须返回String(或null或者是void,它是相同的),它会将你重定向到某处(比如说“index”),所以只需将它附加在这里 - return“index?faces-redirect = true” – 2012-08-07 13:40:55