在JSF中的页面导航问题是怎么样的

今天就跟大家聊聊有关在JSF中的页面导航问题是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

我的目的是想把平时做项目遇到的一些小问题,以及解决方法告诉大家,希望各位同仁不要重蹈覆辙。如有问题,请通过邮件的方式与我联系,一同交流,共勉之!

下面就进入主题吧!来说一下我今天解决的一个问题。使用过JSF的人都知道,在JSF(指采用JSF框架的项目)中,页面之间的跳转是通过faces- config.xml文件来页面导航的。当然,你也可以用其他方式做页面跳转,但JSF不建议这样做。在做页面导航的时候,有一个“重定向”的选项,即" redirect "。代码如下:

  1. <navigation-rule> 

  2.         <from-view-id>/archives/admin/archivesAudit.jsp</from-view-id> 

  3.         <navigation-case> 

  4.            <from-outcome>auditFinish</from-outcome> 

  5.            <to-view-id>/archives/admin/archivesBrowse.jsp</to-view-id> 

  6.            <redirect /> 

  7.        </navigation-case> 

  8.  </navigation-rule> 

如果不选择此项,从当前页面跳转到另一个页面后,地址栏保留的是请求的 URL,server只是做了一个转发的动作;如果选择“重定向”,则地址栏里保留的是被请求的URL,server会重新发送一个被请求的URL。当然,不管是否做“重定向”的选择,渲染出来的页面都是正常的。但是,如果你是从添加, 修改, 删除等页面跳转到列表页的话。如不加“重定向”做导航,当成功提交后,再次刷新列表页的时候,就会再次执行上一次提交的动作。这样的结果就是,会不停的做上一次的添加, 修改或删除动作,且都是相同的数据。因为列表页保留的地址还是上次提交的URL,这就是为什么会执行上一个提交的动作的原因。解决方案是在做页面导航时加 “重定向”选项!

看完上述内容,你们对在JSF中的页面导航问题是怎么样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。