Значение пользовательского объекта пользовательского компонента - PullRequest
1 голос
/ 10 марта 2011

Я хочу создать пользовательский компонент в JSF2 (что-то вроде улучшения outputLink), возможно ли использовать пользовательский объект в атрибуте?

<my:cLink param="#{bean.userObject}" />

private MyUserClass userObject

Знаете ли вы учебник по созданию пользовательского компонента в JSF2.0, я нашел http://www.exadel.com/web/portal/jsftutorial-customcomponents, но это для JSF1.2.Я вижу, что появляются некоторые аннотации, упрощающие бизнес.

Спасибо.

1 Ответ

2 голосов
/ 11 марта 2011

Поскольку вы уже используете JSF 2.0, уверены ли вы, что хотите создать пользовательский компонент вместо составного компонента ? В любом случае, безусловно, вы должны иметь возможность использовать нестандартные типы в качестве значения атрибута. В пользовательском компоненте, который расширяет UIComponent (или лучше, UIComponentBase), вы можете использовать унаследованный метод getAttributes() для его получения:

Object param = getAttributes().get("param");

Существует только одна аннотация для пользовательских компонентов, @FacesComponent. Это просто замена записи <component> в faces-config.xml. Для остатка нет больших различий между JSF 1.2 и 2.0, ожидайте новой поддержки частичного сохранения состояния. Вы можете спокойно следовать целевым учебникам JSF 1.2 для пользовательских компонентов.

...