2

我遇到了自定义标签的问题。

这就是问题所在。我创建了一个在我的 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。我怎样才能做到这一点?我试图只使用我的组件而不指定绑定,但它不起作用。例如,绑定值似乎不能像标签值那样为空。

谢谢您的帮助 !

4

1 回答 1

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>
于 2013-11-08T13:56:42.377 回答