2

JSF 2.0 複合コンポーネントを開発しています。必要な HTML が属性として設定されるボックス コンポーネントを作成しようとしています。

何かのようなもの..

<composite:interface>
    <composite:attribute name="value" />
</composite:interface>
<composite:implementation>
    <table cellpadding="0" cellspacing="0" border="1" width="100%">
        <tr>
            <td></td>
            <td>#{cc.attrs.value}</td>
            <td></td>
        </tr>
    </table>
</composite:implementation>

このコンポーネントを使用して、必要な HTML を属性「値」に渡したい場合は、次のようになります。

<someDir:boxComp>Hello</someDir:boxComp>

「Hello」は属性値として取り込まれません。ノード値を属性値として作成するにはどうすればよいですか?

4

1 に答える 1

2

タグ属性として渡していません。タグ本体で子として渡すだけです。その場合は、 を使用<composite:insertChildren />して挿入する必要があります。だから、代わりに

<td>#{cc.attrs.value}</td>

あなたがするべきです

<td><composite:insertChildren /></td>

または、実際にを使用する場合は、タグ本体ではなく、最初から実際のタグ属性#{cc.attrs.value}として定義する必要があります。

<someDir:boxComp value="Hello" />
于 2011-02-23T12:15:23.673 に答える