Jsf 从自定义组件访问@ViewScope bean

Jsf 从自定义组件访问@ViewScope bean,jsf,components,cdi,view-scope,backing-beans,Jsf,Components,Cdi,View Scope,Backing Beans,我有一个自定义JSF组件,该组件有一个属性,该属性通过EL表达式引用支持bean中的方法。引用的方法应作为组件解码过程的一部分进行调用 这对于@SessionScoped bean非常有效,但是当我切换到@ViewAccessScoped bean时,对支持bean的方法的引用由 ValueExpression ve = getValueExpression("callbackToMethod"); String expression = ve.getExpressionString(); A

我有一个自定义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/方法引用的正确方法吗?有人知道这里出了什么问题吗


感谢并问候

ViewAccessScoped
ViewScoped
?ViewAccessScoped最终可能没有什么不同,因为ViewAccessScoped在某些情况下寿命更长。