0

EL 式によってバッキング Bean 内のメソッドを参照する属性を持つカスタム JSF コンポーネントがあります。参照されるメソッドは、コンポーネントのデコード プロセスの一部として呼び出す必要があります。

これは @SessionScoped Bean では非常にうまく機能しますが、@ViewAccessScoped Bean に切り替えると、バッキング Bean のメソッドへの参照が取得されます。

ValueExpression ve = getValueExpression("callbackToMethod");
String expression = ve.getExpressionString();

Application application = context.getApplication();
ELContext elContext = context.getELContext();
ExpressionFactory expressionFactory = application.getExpressionFactory();

MethodExpression methodExpression = expressionFactory.createMethodExpression(elContext, expression, String.class, new Class[0]);
methodExpression.invoke(elContext, new Object[0]);

XHTML ビューをサポートする Bean 内のものではありません。EL 式で Bean/メソッドを解決すると、別の Bean インスタンスが返されるようです。

上記のコードは、Bean/メソッドへの参照を取得する正しい方法ですか? ここで何が問題なのか誰にもわかりませんか?

感謝と敬意

4

0 に答える 0