A framework Java Server Faces (JSF) é configurada com um ou mais ficheiros 'faces-config.xml'. Além de várias tags para configuração do runtime, a especificação propõe a utilização de metatags informativas que possibilitam ajuda ao desenvolvimento.
Tags para metadata em ficheiros xml de configuração são usuais, como por exemplo <description> ou <display-name>.
Novo para mim foram as tags<attribute> e<property>. De [3]
<attribute>Use to describe an attribute of a custom component, converter, validator, or renderer.
<property>Use to describe a property of a custom component, converter, or validator.
Quando utilizadas em converters ou validators permite descrever as propriedades e atributos que estes possuem.
Por exemplo
<faces-config
xmlns="http://java.sun.com/JSF/Configuration">
<…>
<validator>
<validator-id>myNumberValidator</validator-id>
<validator-class>mypackage.MyNumberValidator</validator-class>
<attribute>
<attribute-name>minNumber</attribute-name>
<attribute-class>java.lang.Integer</attribute-class>
<default-value>0</default-value>
<suggested-value>5</suggested-value>
</attribute>
</validator>
<…>
</faces-config>
Isto permite ao IDE ajudar o programador pois ao escrever
<h:inputText id="fieldValue_id"
value="#{managedBean.fieldValue}">
<f:validator validatorId="myNumberValidator"/>
</h:inputText>
poderá sugerir
<h:inputText id="fieldValue_id"
value="#{managedBean.fieldValue}">
<f:validator validatorId="myNumberValidator"/>
<f:attribute name="minNumber/>
</h:inputText>
e ainda
<h:inputText id="fieldValue_id"
value="#{managedBean.fieldValue}">
<f:validator validatorId="myNumberValidator"/>
<f:attribute name="minNumber" value="5"/>
</h:inputText>
Neste momento ando a utilizar o Oracle JDeveloper 10.1.3 que tem algumas funcionalidades para JSF mas não esta.
Leituras
- [1] JSF for nonbelievers: JSF conversion and validation (http://www-128.ibm.com/developerworks/java/library/j-jsf3/)
- [2] Oracle JDeveloper 10g (10.1.3) Documentation (http://www.oracle.com/webapps/online-help/jdeveloper/10.1.3/)
- [3] Faces-Config DTD (http://www.horstmann.com/corejsf/faces-config.html#faces-config)

0 respostas até ao momento ↓
Ainda não existe comentários. Pode ser o primeiro preenchendo o formulário em baixo.
Deixe um comentário