2013-04-09 32 views
0

我*目前正在學習如何使用tapestry 5.3.6,我有一個問題。我需要在2頁之間共享信息,爲用戶完全註冊一個虛假的移動運營商,我不知道什麼是正確的做法,首先我認爲@Persist可以做到這一點,但我意識到這個註釋保留了特定頁面的信息,並不與其他頁面共享......我認爲@SessionStated是答案,但我不確定:/如何在2頁或更多頁面之間傳輸一些信息?

下面是一個模式來說明我的需要:

第一頁:「的personnal信息」 =>第二頁「信用卡」 =>第三頁:「恢復和最終提交前的政策詞義」

我希望你能幫助我...謝謝很多!

回答

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

更多信息here

+0

對於這類信息使用會話是否正確?因爲我認爲會話在這裏是爲了保存一些關於登錄用戶的信息?但不要在表單之間共享一些臨時信息 – BlackMario

+0

http://docs.oracle.com/cd/A97688_16/generic.903/bp/j2ee.htm#1010654 – sody

+0

Tapestry爲您提供了很多選擇;在某些情況下,您可以使用第二頁的頁面激活上下文從第一頁傳遞信息(如果它只是一個簡單的字符串或數字)。我把它想象成一個「桶旅」,每個頁面負責將一些數據傳遞給下一個。 –

相關問題