我有一个自定义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 /方法的引用?有谁知道这里有什么问题?
谢谢和问候