2015-06-02 26 views
0

我一直在研究新的Java 1.8 + CDI + WildFly和JSF 2.2。範圍爲單個控制器,多個視圖

從來就閱讀了大量有關範圍和仍然不容弄清楚,我應該使用哪一個範圍或者什麼是最好的做法得到一個單一的控制器與diferent意見工作。

不容使用@ViewScoped,因爲它只是一個視圖。 @SessionScoped doesn't看起來像正確的道路,並@ConversationScope看起來像太多的東西I'm尋找。

回答

0

然後使用DeltaSpike @ViewAccessScoped

從自己的文件(重點煤礦)

在您手動必須取消範圍豆對話的情況下(否則將被自動超時後終止)。然而,有時你需要的豆類壽命長,儘可能長,儘可能短 - 這些豆會自動終止(儘快)。在這種用例中,你可以使用這個範圍。 最簡單的原則是,只要豆是由頁面引用 - 豆將可用於下一個頁面(如果它再次使用bean將被再次轉發)。重要的是,它基於頁面的視圖標識(它不基於請求),因此,例如,如果請求不訪問所有視圖訪問權限範圍的bean,則Ajax請求不會觸發清除。頁。這也是名稱@ViewAccessScoped的原因。

0

如果你在你的應用程序中定義的入口點和出口點,你可以使用JSF 2.2 @FlowScope

什麼是面流?

的JSF意見(以及相關的文物)的集合與已經由開發商指定的某些應用 特定意義明確
定義的進入和退出點。通常情況下,流程中的對象被設計爲允許用戶完成需要通過多個不同視圖輸入的任務 。流的典型 例子是一個「順序結帳」的過程,其中用戶在 地址,付款,裝運信息等進入,然後 提交整個結果底,下訂單。

源:https://javaserverfaces-spec-public.java.net/nonav/proposals/JAVASERVERFACES_SPEC_PUBLIC-730/proposal.txt

相關問題