コンポーネントを Bean にバインドすることで、これを行うことができます。
<p:inputText binding="#{bean.input}" ... />
と
private InputText input; // +getter+setter
@PostConstruct
public void init() {
input = new InputText();
input.setMaxlength(15);
input.setStyle("background: pink;");
}
// ...
ただし、これは推奨される方法ではありません。代わりに、個々の属性を Bean プロパティにバインドする必要があります。
<p:inputText ... maxlength="#{bean.maxlength}" style="#{bean.style}" />
と
private Integer maxlength;
private String style;
@PostConstruct
public void init() {
maxlength = 15;
style = "background: pink;";
}
// ...
さらに、アプリが適切に設計されている場合は、そのような Bean オブジェクトが既にあるはずです (実行時にそれを指定できるようにする必要があるのはなぜですか?)。代わりにマネージド Bean のプロパティにして、次のようなことができるようにします。
<p:inputText ... maxlength="#{bean.attributes.maxlength}" style="#{bean.attributes.style}" />