JSF 2.0: передача атрибута составного компонента во внутренний составной компонент - PullRequest
4 голосов
/ 03 января 2011

У меня есть следующий случай:

<cc:interface>
    <cc:attribute name="someValue" />
</cc:interface>

<cc:composite>
    <x:someComponent>
        <span>#{cc.attrs.someValue}</span>
    </x:someComponent>
</cc:composite>

Итак, внутри моего составного компонента я вызываю какой-то другой составной компонент и пытаюсь передать параметр, заданный для "составного" составного компонента, во внутренний составной компонент.

Это не удается, поскольку внутри тегов x:someComponent неявный объект cc, кажется, вместо этого ссылается на этот x:someComponent.

Обходной путь - создать временное поле для x:someComponentтак что это может быть достигнуто как:

<x:someComponent passthroughField="#{cc.attrs.someValue}">
    <span>#{cc.attrs.passthroughField}</span>
</x:someComponent>

Однако это очень уродливо и неудобно.

Есть ли другие способы обойти эту проблему?

1 Ответ

1 голос
/ 04 января 2011

Один из способов взломать это - использовать ui:param как в:

<ui:param name="foo" value="cc.attrs.someValue" />
<x:someComponent>
    <span>#{foo}</span>
</x:someComponent>

Подробнее см. другой вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...