0

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

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

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

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

4

2 回答 2

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);
    }
    

更多信息在这里

于 2013-04-09T13:23:06.520 回答
1

我们可以使用此链接中解释的各种方法来做到这一点:http: //jumpstart.doublenegative.com.au/jumpstart/examples/state/passingbypersist

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

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

于 2013-04-09T13:40:00.223 回答