我遇到自定义标签的问题。
这是问题所在。我创建了一个在我的JSF页面中使用的标记:
<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:t="http://myfaces.apache.org/tomahawk"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core">
... some stuff ...
<h:inputText id="#{id}" value="#{value}" binding="#{binding}" label="#{label}"/>
... some stuff ...
</ui:composition>
我想以这种方式在我的页面中使用这个组件(我的组件名为gp:inputText):
<gp:inputText value="#{myBean.myValue}" id="myId" label="myLabel" binding="#{myBean.myUiComponent}" />
但是我也希望使用相同的组件但不绑定inputText。我怎样才能做到这一点? 我试图只使用我的组件而不指定绑定但它不起作用。似乎绑定值不能像标签值那样为空。
感谢您的帮助!
答案 0 :(得分:5)
如果没有正确的值,则无法定义绑定属性。
但是,当它为null时,您可以避免定义绑定属性,如下所示:
<h:inputText id="#{id}" value="#{value}" label="#{label}">
<c:if test="#{binding != null}" >
<f:attribute name="binding" value="#{binding}" />
</c:if>
</h:inputText>