2013-02-23 59 views
0

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

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');"); 

回答

1

编程创建UIInputUICommand组件必须有一个固定的ID集,否则将JSF期间应用请求值阶段不能够识别与所述要求参数映射图输入和命令组件相关联的请求的参数。

submitLogin.setId("submitLogin");