На основе этого предыдущего вопроса Как получить идентификатор вызывающий компонент в методе получения?, вот еще одна идея, о которой я хочу спросить ваше мнение:
на страницах jsf много дублированного кода, такого как эти примеры (обратите внимание на повторяющийся атрибут size и maxlength) для компонентов:
<h:inputText label="#{msgs.userId}" id="UserId" value="#{userBean.userId}"
required="true"
size="#{variableConfigBean.getSize(component.id)}"
maxlength="#{variableConfigBean.getMaxLength(component.id)}"
/>
<h:inputSecret label="#{msgs.password}" id="Password" value="#{userBean.password}"
required="true"
size="#{variableConfigBean.getSize(component.id)}"
maxlength="#{variableConfigBean.getMaxLength(component.id)}"
/>
Я думал о :
- используя составной компонент для этого входного текстового тега,
- жестко запрограммировать размер и максимальную длину в разделе реализации этого составного компонента,
- так что мне не нужно дублировать все эти вещи каждый раз, когда мне нужно использовать этот компонент.
- но мне придется открыть все атрибуты в разделе интерфейса этого составного компонента
Подходит ли эта идея, или, возможно, есть другие лучшие способы решить эту проблему?