2012-05-04 19 views
0

セッションスコープにBean全体を入れることができます。JSF SessionScope内のmanagedBeanのフィールド

<managed-bean> 
    <managed-bean-name>managedBeanList</managed-bean-name> 
    <managed-bean-class>com.org.SomeMBean</managed-bean-class> 
    <managed-bean-scope>session</managed-bean-scope> 

しかし、我々はsessionScopeとだけa field of that managed beanを置くことができるようなものはありますか?

よう

...

public class SomeMBean{ 

public String mySessionScopeVariable; // Is there any way only this field will be in sessionscope continusly and not whole bean. 

//getter setter of that variable. 
} 

答えて

4

これは不可能です。

別のセッションスコープBeanでフィールドを区切り、@ManagedPropertyを使用して、スコープの狭い範囲のBeanに注入する必要があります。

+0

Hummmmnはこのように見えます... JSFの将来のバージョンには、この種のものが必要です... ;)ところで、返信のために多くのおかげで... – Ketan

+1

@ SoftwareGuruji:いいえ、それは必要ではありません。あなたはただの思考過ちです。セッションスコープのデータを別のセッションスコープのマネージドBeanに置くと、設計は技術的に完全に理にかなっています。 http://stackoverflow.com/questions/7031885/how-to-choose-the-right-bean-scopeも参照してください。 – BalusC

1

私はどのように表示されません。私はJSFの専門家ではありませんが、ManagedBeanやBeanの属性にアクセスするには、そのBeanを必要とします。なぜなら、Beanなしでは属性が存在できないからです。あなたのマネージドBeanが膨大になっていると思っているなら、セッションのサイズはメモリを節約するために重い変数をnullに設定します。しかし、それ以外に私は他の方法を見ません。

+0

私のmanagemd beanはたくさんのものを持っています。私はそれを私の記憶を使うセッションスコープに入れれば... :( ところで、お返事ありがとうございます... – Ketan

関連する問題