JSF 2复合组件editableValueHolder动态名称



是否有办法在复合组件中为editableValueHolder定义一个动态的"name"属性?

例如:

<composite:interface>
    <composite:attribute name="name" required="false" default="text"/>
    <composite:attribute name="value" required="false"/>
    <composite:editableValueHolder name="#{cc.attrs.name}" targets="textId"/>
</composite:interface>
<composite:implementation>
    <h:inputText id="textId" value="#{cc.attrs.value}" validatorMessage="Error"/>
</composite:implementation>

然后让页面作者使用我的标签,比如:

<my:inputText value="whatever" name="testText">
    <f:validateLength for="testText" minimum="20"/>
</my:inputText>

您应该从bean中获取文本并用它初始化您的组件。

<my:inputText value="whatever" name="#{yourBean.getDynamicText()}" />

通过移动"editableValueHolder"标签作为"implementation"标签的子标签解决。EL似乎不会计算"interface"标签中的表达式。

谢谢大家的帮助。

相关内容

  • 没有找到相关文章

最新更新