【问题标题】:Implementing PRG on JSF在 JSF 上实现 PRG
【发布时间】:2011-07-04 01:40:50
【问题描述】:

我目前正在研究 JSF 在我目前的工作中。 过去,在使用 Spring 和 Struts 时,我总是做 PRG(Post-Redirect-Get) 我做了一些可能会更新模型的事情。

在 JSF 中,我读到框架在内部发出转发请求。那么安全吗 假设我应该在那些可能更新模型的事务中添加重定向?

例如我的用例。我有一个在购物车中显示产品的 JSP,用户可以执行付款交易。 我不希望他们支付两次,所以我想执行重定向

<navigation-rule>
   <from-view-id>/viewCart.jsp</from-view-id>
   <navigation-case>
      <from-outcome>pay</from-outcome>
      <to-view-id>/successPay.jsp</to-view-id>
      </redirect>
   </navigation-case>
</navigation-rule>

我担心用户使用他们的后退按钮或点击浏览器上的刷新?

我的想法是正确的还是在 JSF 中有针对这些情况的替代方案 谢谢。

【问题讨论】:

    标签: java jsf


    【解决方案1】:

    是的,添加 &lt;redirect/&gt; 是使其成为 PRG 的正确方法之一。

    其他方法包括在 bean 操作方法中手动调用 ExternalContext#redirect(),或者(仅在 JSF 2.x 中)将 faces-redirect=true 参数添加到(隐式导航)结果值,这也可以通过 custom configurable navigation handler 完成。

    【讨论】:

    • 感谢您一直以来的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 2017-03-15
    • 2012-10-19
    • 1970-01-01
    • 2015-01-19
    相关资源
    最近更新 更多