2013-02-23 30 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");