2

我是否记得正确或将参数立即设置为 true 应该更改浏览器的 url?如果是正确的,为什么这个链接不能正常工作?



    <h:form>
    <h:commandLink immediate="true" action="/url_page.xhtml" value="Label link"/>
    </h:form>

经过一番研究,我发现了一个问题,作者在网址中添加了字符串“?faces-redirect = true”......它像我一样工作吗?我应该设置其他东西吗?感谢您的帮助。

PS:我也尝试了 h:link 但也许它并没有执行所有的事情,因为在那之后下一页返回一个 nullpointerException 但 url 改变了我想要的......

解决方案完成:我将 h:commandLink 的操作更改为调用返回 /url_page?faces-redirect=true 的方法,因为我发现 nullpointer 异常进入了 servlet 过滤器......谢谢@BalusC 和@Matt!

4

1 回答 1

15

我是否记得正确或将参数立即设置为 true 应该更改浏览器的 url?

没有这个属性有不同的用途。

您可以h:link用于导航。h:commandLink需要一个 bean 方法作为action属性。操作方法的结果是导航目标。如果action方法返回null或者是void方法,则当前页面将被重新加载。如果它返回一个字符串,JSF 将接受它并导航到该结果。

如果您想从您的操作方法执行重定向,您可以添加?faces-redirect=true到您的结果中,例如

return "login?faces-redirect=true";
于 2012-04-12T14:32:03.473 回答