0

我正在使用 JSF 2.0 和 tomahawk-lib 动态创建 html 元素。我想向 HtmlCommandButton 添加一个操作命令,但无法完成。在此先感谢您的帮助。我可以看到按钮和onclick被触发,所以一定是与方法表达式有关的错误。

HtmlCommandButton submitLogin = new HtmlCommandButton();
FacesContext fc = FacesContext.getCurrentInstance();
ELContext ctx = fc.getELContext();
String expression = "#{hangmanController.login}";
Class[] parameterTypes = new Class[0];
MethodExpression me = fc.getApplication().getExpressionFactory().
     createMethodExpression(ctx, expression, String.class, parameterTypes);
submitLogin.setActionExpression(me);
submitLogin.setOnclick("alert('BP');");
4

1 回答 1

1

以编程方式创建UIInputUICommand组件必须具有固定的 ID 集,否则 JSF 将在应用请求值阶段无法识别与请求参数映射中的输入和命令组件关联的请求参数。

submitLogin.setId("submitLogin");
于 2013-02-23T22:55:53.553 回答