4
我创建了一个Facelet组件来扩展h:commandLink(以添加一些功能和圆角)。扩展JSF 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时进行评估。
有什么建议吗?