Tak, istnieje całkiem nowy sposób JSF 2.2, aby to osiągnąć!
Można dokonać fieldset
do JSF 2.2 połączenia Przez element i przekazać mu mapę atrybutów tak:
<fieldset jsf:id="fieldset">
<f:passThroughAttributes value="#{customerBean.params}"/>
</fieldset>
Przedrostek jsf
jest dla nowego JSF 2.2 nazw http://xmlns.jcp.org/jsf
. Jeśli znacznik HTML ma dowolny atrybut w tej przestrzeni nazw, JSF przekształci go w prawdziwy komponent JSF w drzewie komponentów. Dlatego możliwe jest użycie f:passThroughAttributes
, aby dodać atrybuty pochodzące z mapy w zarządzanym komponencie bean.
getter dla właściwości params może wyglądać następująco (można dodać atrybutów na podstawie jakiegokolwiek warunku w fasoli):
public Map<String, String> getParams() {
HashMap<String, String> params = new HashMap<String, String>();
if (disabled) {
params.put("disabled", "disabled");
}
return params;
}
W celu uzyskania dalszych informacji na temat tranzytem cech i elementów, spojrzeć na mojego blogpost około HTML5 friendly markup with JSF 2.2.