【发布时间】:2011-07-01 22:15:26
【问题描述】:
我有一个自定义的 facelet 组件(自定义标签),但目前有一件事让我很恼火。我正在尝试将动作侦听器作为参数传递给自定义标记,以使其更具动态性并且不起作用。
环境:JSF 1.2,IceFaces 1.8
这是我试图实现这一目标的方式:
-
命令链接使用传递的参数'paginationController'
<h:commandLink id="#{id}-link-three" value="click" actionListener="#{paginationController.paginationLinkClicked}" /> -
参数'paginationController'是这样传递的:
paginationController="rowSelectController" -
当我点击链接时,我收到了:
Received 'javax.el.MethodNotFoundException' when invoking action listener '#{paginationController.paginationLinkClicked}' for component 'entity-list-apps-link-three' 2011-02-22 12:49:47,803 SEVERE [javax.faces.event] (http-127.0.0.1-8080-4) javax.el.MethodNotFoundException: /WEB-INF/jsf/common/components/facelets /applicationList.xhtml @107,71 actionListener="#{paginationController.paginationLinkClicked}": Method not found: rowSelectController.paginationLinkClicked(javax.faces.event.ActionEvent)
所以它似乎成功地将bean名称解析为rowSelectController,但它抱怨找不到方法,并且方法存在!
还有一件事,如果我用正确的控制器名称替换参数,它就可以工作!有什么想法吗?
【问题讨论】:
标签: jsf icefaces actionlistener