JSF Config Metadata: 'atribute' e 'property'

by Bruno Braz Gonçalves on 4 Abril, 2007

in java,jsf

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

Leave a Comment

Previous post:

Next post: