首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jsf动态创建actionListener参数

Jsf动态创建actionListener参数
EN

Stack Overflow用户
提问于 2011-02-22 11:06:21
回答 1查看 1.9K关注 0票数 1

我有一个自定义面片组件(自定义标签),但有一件事,目前困扰我很多。我正在尝试将一个动作侦听器作为参数传递给自定义标记,以使它更加动态,而且不起作用。

环境:JSF1.2,IceFaces 1.8

我正努力做到这一点:

  • 命令链接使用传递的参数'paginationController‘

  • “参数'paginationController‘传递如下:

paginationController="rowSelectController"

  • when我点击链接,我收到的是:

在为组件实体调用动作侦听器'#{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,但是它抱怨找不到方法,方法就在那里!

还有一件事,如果我用正确的控制器名替换参数,它就能工作了!有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2011-02-22 11:20:10

因为paginationController是变量,所以这里需要使用[]语法。假设paginationLinkClicked是一个固定的方法名:

代码语言:javascript
复制
<h:commandLink actionListener="#{paginationController['paginationLinkClicked']}" />

如果paginationLinkClicked也是变量,则需要省略单引号:

代码语言:javascript
复制
<h:commandLink actionListener="#{paginationController[paginationLinkClicked]}" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5077278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档