2015-02-24 56 views
-1

我一直在閱讀有關使用JSF 2在bean之間傳遞參數的不同方法,但我不知道哪一個方法對於這種情況最好。使用JSF 2在bean之間傳遞參數的最佳設計

假設我有一個擁有6-7個視圖的進程,並且每個進程都有一個「返回」按鈕以返回到前一個視圖,我想要恢復其中的數據。

一種選擇是使用會話bean,我們存儲所有的數據,但我不能這樣做,因爲我們有太多不同的進程。

我想每個視圖有1個bean,所以我沒有在單個視圖bean中的每個進程。

當我們返回到某些視圖時,有太多數據需要恢復,因此我不想將它們作爲請求參數發送,URL過長。

我們還可以使用JSF2做什麼?我們也使用Omnifaces和Primefaces。

視圖/ bean的示例。

  • ViewA用20個inputFields/BeanA到與來自所述ViewA輸入 數據的數據庫搜索,並顯示在一個ViewA表中的結果。
  • ViewB用於訪問ViewA/BeanB中選擇的結果中的詳細信息,以格式化/處理選定的細節。
  • ViewC用表單編輯一些細節/ BeanC來管理細節
  • ViewD帶有修改歷史記錄/ BeanD來管理歷史記錄。

每個視圖都有一個按鈕可以返回到前一個ViewD - > ViewC - > ViewB - > ViewA。

謝謝。

+0

第一部分聞起來很像「流」(JSF2.2)如果可以切換,一個選項是創建流,創建一個flowScoped bean,以及該bean來處理'beanA','beanB' ...如果你可以升級到JSF2.2,我會寫這個作爲答案。 https://blog.oio.de/2014/02/12/a-comprehensive-example-of-jsf-faces-flow/ – SJuan76 2015-02-24 21:04:17

+0

這是一個非常廣泛/基於觀點的問題,但除了JSF中的新流程,View和Flash範圍的組合也可以在這裏工作。僅僅爲JSF Flow升級v-2.2(這並不是完全平滑)對我來說有點過大 – kolossus 2015-02-24 22:56:43

+0

@ SJuan76我一直在閱讀你建議的博客,它看起來像一個很好的解決方案。我將首先升級到JSF 2.2並立即進行測試。謝謝。如果我解決了這個問題,我會回覆choisen的答案。 – maqjav 2015-02-25 06:53:47

回答

0

codi ViewAccessScope聽起來像是一個完美的適合在這裏。一旦bean在新(new)視圖中未被引用,它就會被破壞