关于jsf 2:如何从h:commandLink重定向URL

How redirect the url from h:commandLink

我还记得对吗,否则立即设置为true的参数应该更改浏览器的网址吗?
如果正确,为什么此链接不能正常工作?

1
2
3
    <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的方法,因为我发现NULL指针异常已进入servlet过滤器...
谢谢@BalusC和@Matt!


Do I remember right or the parameter immediate set to true should
change the url of the browser?

此属性没有其他用途。

您可以使用h:link进行导航。 h:commandLink需要一个bean方法作为action属性。动作方法的结果是导航目标。如果action方法返回null或是void方法,则将重新加载当前页面。如果返回String,JSF将使用它并导航到该结果。

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

1
return"login?faces-redirect=true";