3

コマンドリンクをプログラムで追加しようとしていますが、アクションを追加できません。

HtmlCommandLink link = new HtmlCommandLink();
link.setValue(data);
link.setActionExpression(no idea);

作成方法を教えてください。

4

1 に答える 1

5

を使用し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));
于 2013-02-18T12:15:47.320 に答える