Jsf 在本例中,f:attribute用于什么?

Jsf 在本例中,f:attribute用于什么?,jsf,jsf-2,Jsf,Jsf 2,我试图理解JSF代码段的作用。事情是这样的 <composite:interface> <composite:attribute name="field" /> <composite:attribute name="value" default=""/> [...] </composite:interface> <composite:implementation> <ui:fragment ren

我试图理解JSF代码段的作用。事情是这样的

<composite:interface>
    <composite:attribute name="field" />
    <composite:attribute name="value" default=""/>
    [...]
</composite:interface>
<composite:implementation>
     <ui:fragment rendered="some_logic_here">
         <h:outputText value="#{cc.attrs.value}">
             <f:attribute name="value" value="#{cc.attrs.field.value}"/>
         </h:outputText>
     </ui:fragment>
</composite:implementation>
field属性指的是一个bean成员,该成员具有字符串的getValue/setValue访问器。 value属性是来自其他地方的字符串

据我所知,输出的值最初设置为static value属性:value={cc.attrs.value},然后标记将某些内容设置为从字段bean检索到的动态值


这是怎么回事?动态值是否覆盖静态值?总是吗

正如您所猜测的,这与:

<h:outputText value="#{cc.attrs.field.value}" />

换句话说,最初的开发人员没有很好地思考它,或者在它开始像魔术一样工作之前一直在摆弄它,或者可能在开发过程中喝了一点咖啡,或者抽了一些不好的东西。

正如您所猜测的,这与:

<h:outputText value="#{cc.attrs.field.value}" />

换句话说,最初的开发人员没有把它想得很好,或者在它开始像魔术一样工作之前一直在摆弄它,或者可能在开发时喝了一杯咖啡,或者抽了一些不好的东西。

对原始代码的一些测试让我得出了相同的结论:对原始代码的一些测试让我得出了相同的结论: