我使用 JSF 2.2 和漂亮的面孔。我想防止与浏览器向后功能相关的安全问题。
要在我的应用程序中恢复我的页面之间的导航链接:我有一个使用 Spring Security 完成的登录页面,它在连接到主页后重定向。主页位于 ViewScoped 中。从这个主页,我可以转到 ViewScoped 中的 AddPatientPage 和 SessionScoped 中的 AddAnalysePage。
当用户在 AddP*Page 上时,如果他单击浏览器后退按钮,我不想使用缓存页面。我想要一种页面的重定向/刷新。我希望主页使用初始值,因为它是第一次加载。
我试图应用此解决方案但没有成功...例如,当我从 Add*Page 返回主页时,SelectOneMenu 中的值不是初始值,而是最后选择的值。所以我相信现金仍在使用......在测试之前,我从浏览器中清除了缓存文件。
谢谢您的帮助。
正如上一篇文章中的 BalusC,我不使用注释,而是直接引用 web.xml 中的过滤器,如上所述。
<filter>
<filter-name>noCacheFilter</filter-name>
<filter-class>com.clb.genomic.lyon.servletFilter.NoCacheFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>noCacheFilter</filter-name>
<url-pattern>*.jsf</url-pattern>
<url-pattern>*.xhtml</url-pattern>
</filter-mapping>
* 编辑 :*
使用不同的词,问题是当我使用后退按钮时,页面组件的值与其支持 bean 不同。所以我不明白哪些被跟踪,哪些不在范围内。
* 编辑2:*
好的,我放弃了 ajax 调用。ajax 调用的想法是,当您从第一个表单中选择 SelectOneMenu 中的值时,然后将结果注入到另一个表单和另一个表单中,另一个 SelectOneMenu 和一个命令按钮将所有值一起发送。向后按钮兼容性处理起来很麻烦。所以现在我把两个selectOneMenu放在一个没有ajax的独特形式中,它运行良好......没有问题,后退按钮和SelectOneMenu的bean和页面值之间的同步......
我希望有人明白我想做什么:)