在我的 JSF 2.1 项目中,我定义了一个包含h:inputText
元素的自定义标记文件。此元素可能包含也可能不包含binding
属性 - 取决于自定义元素的传递参数。
示例 formInput.xhtml(摘录):
<h:inputText id="#{id}" value="#{value}">
<c:if test="#{not empty binding}">
<f:attribute name="binding" value="#{binding}"/>
</c:if>
</h:inputText>
其他文件的用法:
<e:formInput id="test" value="#{testBean.myValue}" binding="#{testBean.myBinding}"/>
不幸的是,这不起作用。#{not empty binding}
解析为 false 并且不应用绑定。
但是,在binding
没有条件的情况下定义属性确实有效。例子:
<h:inputText id="#{id}" value="#{value}">
<f:attribute name="binding" value="#{binding}"/>
</h:inputText>
在这种情况下,绑定被正确应用。
有谁知道如何有条件地设置绑定?
提前致谢!