использовать управляемый компонент jsf в пользовательском компоненте facelet, как в jsf в jsp

У меня есть приложение jsf, в котором я должен использовать пользовательский компонент facelet (определенный в пользовательской библиотеке тегов). Для этого я сделал следующее: - создал компонент с помощью ui:component - создал taglib в файле person.taglib.xml - создал параметр контекста в web.xml - и, наконец, включил компонент в документ xhtml

Но мне нужно использовать bean-компонент, чтобы получить информацию, которую я должен отобразить. Могу ли я использовать bean-компонент внутри определения компонента Facelet?

Например, я создал чистую страницу jsp, включая теги jsf, и оттуда я могу получить доступ к компоненту (например, Person).

Могу ли я получить доступ к bean-компоненту, определенному в faces-config.xml, из компонента Facelet?

(Надеюсь, я был достаточно ясен)


person Alina Danila    schedule 15.11.2011    source источник
comment
Вы используете JSF 1.x или 2.x? Ваш вопрос создает у меня впечатление, что вы все еще используете JSF 1.x. В JSF 2.x это было бы слишком просто с аннотацией @ManagedBean или просто составным компонентом вместо файла тега.   -  person BalusC    schedule 16.11.2011
comment
Есть ли причина не использовать просто @ManagedBean?   -  person BalusC    schedule 16.11.2011
comment
Хорошо, я написал ответ. Возможно, вам следует позаботиться о том, чтобы вы читали не учебники/книги, ориентированные на JSF 1.x, а скорее на JSF 2.x.   -  person BalusC    schedule 16.11.2011


Ответы (1)


Если вы аннотируете класс вспомогательного компонента с помощью @ManagedBean и поместите этот класс прямо в путь к классам, либо простой ваниль, либо внутри JAR с /META-INF/faces-config.xml, тогда JSF2 автоматически зарегистрирует его как управляемый компонент без необходимости регистрировать его в faces-config.xml самостоятельно.

@ManagedBean
@RequestScoped
public class Bean {

    // ...

}

Смотрите также:

person BalusC    schedule 15.11.2011