我正在尝试以编程方式添加命令链接,但我无法添加操作。
HtmlCommandLink link = new HtmlCommandLink();
link.setValue(data);
link.setActionExpression(no idea);
我如何创建它?
我正在尝试以编程方式添加命令链接,但我无法添加操作。
HtmlCommandLink link = new HtmlCommandLink();
link.setValue(data);
link.setActionExpression(no idea);
我如何创建它?
使用ExpressionFactory#createMethodExpression()
.
这是一个方便的方法:
private static MethodExpression createMethodExpression(String expression, Class<?> returnType) {
FacesContext context = FacesContext.getCurrentInstance();
return context.getApplication().getExpressionFactory().createMethodExpression(
context.getELContext(), expression, returnType, new Class[0]);
}
public String doSomething() {}
如果您在由 标识的托管 bean 中有一个操作,那么您可以使用它的方法如下#{bean}
:
link.setActionExpression(createMethodExpression("#{bean.doSomething}", String.class));