如何在两页或更多页之间传输一些信息?

时间:2013-04-09 12:31:34

标签: tapestry

我正在学习如何使用tapestry 5.3.6,我有一个问题。我需要在两页之间共享信息,以便为一个虚假的移动运营商进行完整的用户注册,我不知道这样做的正确方法是什么,首先我认为@Persist可以做到这一点但我意识到这个注释保留特定页面的信息eand不与其他页面共享...我认为@SessionStated是答案,但我不确定:/

这是一个说明我需要的模式:

第一页:“个人信息”=>第二页“信用卡信息”=>第三页:“最终提交前的恢复和政策接受”

我希望你能帮助我......非常感谢!

2 个答案:

答案 0 :(得分:2)

您可以使用@SessionAttribute,@ SessionState和Session。

执行此操作
  1. 会话属性:

    @SessionAtribute("myObject")
    private MyObject myObject;
    
  2. 会话范围内的对象:

    @SessionState
    private MyObject myObject;
    
  3. 会话API:

    @Inject
    private Request request;
    
    void someMethod() {
      final Session session = request.getSession(true);
      session.setAttribute("myObject", myObject);
    }
    
  4. 更多信息here

答案 1 :(得分:1)

我们可以使用此链接中说明的各种方法执行此操作:http://jumpstart.doublenegative.com.au/jumpstart/examples/state/passingbypersist

我们可以使用会话,或者使用@Persist,我们需要实现一个公共方法将参数传递给下一个要调用的页面的持久化方法。

第二种解决方案是我正在寻找的解决方案。