从自定义组件访问@ViewScoped bean

时间:2013-11-14 13:16:24

标签: jsf components cdi view-scope backing-beans

我有一个自定义JSF组件,它有一个属性,通过EL表达式引用支持bean中的方法。引用的方法应该作为组件解码过程的一部分进行调用。

这适用于@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 /方法的引用?有谁知道这里有什么问题?

谢谢和问候

0 个答案:

没有答案