从 jsf 组件调用 javax.el.MethodExpression

发布于 2024-08-27 11:50:07 字数 582 浏览 11 评论 0原文

我有一个 jsp 标签,它采用 javax.el.MethodExpression 作为属性:

<%@ attribute name="action" required="true" type="javax.el.MethodExpression" rtexprvalue="true" %>

在我拥有的同一标签内:

<h:commandLink action="#{action}">
    link text
</h:commandLink>

当我尝试单击链接时收到以下错误:

javax.faces.FacesException: #{action}: org.apache.jasper.el.JspMethodNotFoundException: /WEB-INF/tags/pager/pager.tag(17,1) '#{action}' Identity 'action' was null and was unable to invoke

commandLink 是否可以正确调用“操作” “ 方法?

I have a jsp tag which takes a javax.el.MethodExpression as attribute:

<%@ attribute name="action" required="true" type="javax.el.MethodExpression" rtexprvalue="true" %>

within the same tag I have:

<h:commandLink action="#{action}">
    link text
</h:commandLink>

I'm getting the following error when I try to click the link:

javax.faces.FacesException: #{action}: org.apache.jasper.el.JspMethodNotFoundException: /WEB-INF/tags/pager/pager.tag(17,1) '#{action}' Identity 'action' was null and was unable to invoke

is it possible for the commandLink to properly invoke the "action" method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盛夏尉蓝 2024-09-03 11:50:07

不要创建 JSP 标记。创建一个 JSF 组件。扩展 UIComponentELTag此处有教程

或者,如果您使用 Facelets,请考虑使用模板使用ui:composition此处有教程

或者,如果您已经使用 JSF 2.0,则可以使用 复合组件教程在这里

Don't create a JSP tag. Create a JSF component. Extend UIComponentELTag. Tutorials here.

Or, if you're using Facelets, consider a template using ui:composition. Tutorials here.

Or, if you're already on JSF 2.0, you can get a step further with composite components. Tutorial here.

清欢 2024-09-03 11:50:07

自从我使用 JSF 以来已经有一段时间了,但我很确定方法表达式的形式为:#{bean.method}。您不能只说#{method}

It's been a while since I did JSF, but I'm pretty sure a method expression is of the form: #{bean.method}. You can't just say #{method}.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文