【发布时间】:2011-06-04 05:29:21
【问题描述】:
我创建了一个 Facelet 组件来扩展 h:commandLink(以添加一些功能和圆角)。
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<span class="btn-left btn-corners"> </span>
<span type="submit" class="submit">
<h:commandLink id="#{id}" value="#{label}" action="#{action}" />
</span>
<span class="btn-right btn-corners"> </span> </ui:composition>
可以使用
访问我的新组件<my:commandLink id="continue" label="continue" action="#{applyBacking.submit}"/>
Java 代码是
public String submit(){
...
}
但是它给了我一个错误“ApplyBacking 没有属性提交”。 我理解此错误的原因,因为在呈现 my:commandLink 时,它会尝试将 #{applyBacking.submit} 评估为属性。相反,我希望将有关被调用 (applyBacking.submit) 方法的信息传递给模板并在渲染 h:commandLink 时进行评估。
有什么建议吗?
【问题讨论】: