Поскольку вы уже используете JSF 2.0, уверены ли вы, что хотите создать пользовательский компонент вместо составного компонента ? В любом случае, безусловно, вы должны иметь возможность использовать нестандартные типы в качестве значения атрибута. В пользовательском компоненте, который расширяет UIComponent
(или лучше, UIComponentBase
), вы можете использовать унаследованный метод getAttributes()
для его получения:
Object param = getAttributes().get("param");
Существует только одна аннотация для пользовательских компонентов, @FacesComponent
. Это просто замена записи <component>
в faces-config.xml
. Для остатка нет больших различий между JSF 1.2 и 2.0, ожидайте новой поддержки частичного сохранения состояния. Вы можете спокойно следовать целевым учебникам JSF 1.2 для пользовательских компонентов.