我有一个自定义面片组件(自定义标签),但有一件事,目前困扰我很多。我正在尝试将一个动作侦听器作为参数传递给自定义标记,以使它更加动态,而且不起作用。
环境:JSF1.2,IceFaces 1.8
我正努力做到这一点:
paginationController="rowSelectController"
在为组件实体调用动作侦听器'#{paginationController.paginationLinkClicked}‘时收到“javax.el.MethodNotFoundException”-list-apps link-3’2011-02-22 12:49:47,803严重的javax.faces.event javax.el.MethodNotFoundException: /WEB/jsf/107,71/components/fac卷/applicationList.xhtml @107,71 /applicationList.xhtml/applicationList.xhtml@107,71 rowSelectController.paginationLinkClicked(javax.faces.event.ActionEvent)
因此,它似乎成功地将bean名称解析为rowSelectController,但是它抱怨找不到方法,方法就在那里!
还有一件事,如果我用正确的控制器名替换参数,它就能工作了!有什么想法吗?
发布于 2011-02-22 11:20:10
因为paginationController是变量,所以这里需要使用[]语法。假设paginationLinkClicked是一个固定的方法名:
<h:commandLink actionListener="#{paginationController['paginationLinkClicked']}" />如果paginationLinkClicked也是变量,则需要省略单引号:
<h:commandLink actionListener="#{paginationController[paginationLinkClicked]}" />https://stackoverflow.com/questions/5077278
复制相似问题