1

複数の SessionScoped Bean 間でオブジェクトを共有しようとしています。エラーが発生しますが、その理由は本当にわかりません。

@ManagedProperty(value="#{tb}")
private testBean tb;

これは正しい構文だと思いますが、次のような呼び出しtb.getNameは例外になります。

@ManagedBean(name = "tb")
public class testBean 
{
    private String name = "sumthing";

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return this.name;
    }
}

ManagedProperty の仕組みを完全に誤解していませんか?

4

3 に答える 3

2

おそらくあなたの消費者クラスにはセッター/ゲッターがありませんtb

于 2011-04-04T14:00:41.797 に答える
0

You can also take a look at the Flash scope, the idea is to use this if you just want to pass values/objects from one view to another, and you don't want to burden the server with a session state.

For an example see: http://jugojava.blogspot.com/2011/06/jsf2-flash-scope-example.html

于 2012-07-10T15:19:09.553 に答える
0

@SessionScopedJavaBeanに追加してみませんか? このSO Question に対する私の説明を参照してください。次に、代わりに#{tb.getName}EL Expression を使用し#{tb.name}ます。

于 2011-04-04T14:04:16.273 に答える