【发布时间】:2012-04-24 21:57:42
【问题描述】:
我没记错还是参数immediate设置为true应该改变浏览器的url? 如果正确,为什么这个链接不能正常工作?
<h:form>
<h:commandLink immediate="true" action="/url_page.xhtml" value="Label link"/>
</h:form>
经过一些研究,我发现了一个问题,作者将字符串“?faces-redirect = true”添加到网址中......它像我一样工作吗?我应该设置其他东西吗? 感谢您的帮助。
P.S.:我也尝试了 h:link 但也许它并没有执行所有的事情,因为在那之后下一页返回了一个 nullpointerException 但 url 改变了我想要的......
解决方案完成:我将 h:commandLink 的操作更改为调用返回 /url_page?faces-redirect=true 的方法,因为我发现 nullpointer 异常进入 servlet-filter... 谢谢@BalusC 和@Matt!
【问题讨论】:
-
h:link应该可以工作。您的 NPE 是由其他原因引起的,在使用h:commandLink进行重定向时,您会遇到完全相同的问题。 -
@BalusC :好吧,如果我使用 h:commandLink 没有任何参数,它可以正常工作,如果我使用 h:link 页面返回 NullPointerException 并且如果我添加 faces-redirect=true 没有任何改变第一种方法...
-
明确地说,您通过将
action="/url_page.xhtml"更改为action="/url_page.xhtml?faces-redirect=true"来实现它? -
@BalusC :我做了一个勘误表,如果我使用 h:link 和 h:commandLink + faces-redirect 的结果是一样的......但是我也尝试从动作/结果参数,没有任何改变......
-
@BalusC :好的,我使用 h:commandLink + faces-redirect 解决了这个问题...有关更多信息,我将编辑我的问题。
标签: jsf-2