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!
- 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的结果是相同的...但是我也尝试从action / outcome参数中删除" .xhtml",并且没有任何变化。 。
-
@BalusC:好的,我使用h:commandLinkfaces-redirect解决了问题...有关更多信息,我将编辑我的问题。
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"; |
- 当我使用h:link或h:commandLinkfaces-redirect = true撰写其他评论时,页面返回nullpointerexception ...这些选项将如何改变我的应用程序?
-
好的,我发现了问题...我将编辑我的问题以添加更多信息。