Dúvida em JSF!

3 respostas
Rodrigo_Rocha_de_Mor

Olá pessoal!
Bom, estou iniciando meu estudos em JEE e após ter implementado algumas coisas com Servlets e JSP puro, usando o padrão MVC, decidi aprender a utilizar um framework.
Parti para o estudo de JSF e logo no início dos estudos me deparei com uma situação que considerei um tanto quanto estranha…
Vou usar um exemplo trivial:
Crio meu JavaBean Pessoa com um único atributo String nome com seu respectivo get/set…
Crio minha UI básica com JSF para digitar algum nome e enviar para uma página qualquer…
A minha dúvida é a seguinte, nos exemplos que estudei cria-se uma operação de ação dentro da minha classe de entidade, neste exemplo, para verificar se foram digitados apenas letras…

<h:commandButton action="#{Pessoa.acao}" value="Enviar" id="submit" />

Mas, creio eu, não seja função de uma classe de entidade se validar, mas sim de uma classe de controle por exemplo, ou até mesmo uma classe de validação como temos em aplicações Desktop…
Até por que uma classe pode-se se comportar de diferentes formas, dependendo do contexto, dessa forma posso perder minha reusabilidade…
Logo, existe alguma forma de fazer essa validação sem que seja dentro da própria classe?!

Obrigado desde já!

[]'s

3 Respostas

S

Podes usar validadores e/ou conversores, porém é interessante dar uma olhada no ciclo de vida do jsf para saber o contexto ao qual estão inseridos.

http://www.javabeat.net/articles/15-introduction-to-jsf-core-tags-library-1.html

D

Cara no jsf você tem umas taglib que validam, por exemplo:

<rich:messages passedLabel="Data is allowed to be stored." layout="list">
     <f:facet name="header">
            <h:outputText value="Entered Data Status:" />
     </f:facet>
     <f:facet name="passedMarker">
              <h:graphicImage  value="/images/ajax/passed.gif" />	
     </f:facet>
     <f:facet name="errorMarker">
           <h:graphicImage value="/images/ajax/error.gif" />	
     </f:facet>
</rich:messages>

<h:inputText label="Name" id="name" required="true" value="#{userBean.name}">
       <f:validateLength minimum="3"  maximum="70"/>
</h:inputText>

Mas em todo caso de uma olhadinha no demo da jboss para verificar todas as validações disponíveis, ou até mesmo criar suas próprias taglibs, há um capitulo inteiro na documentação richfaces que explica isso.

abs,

Rodrigo_Rocha_de_Mor

Obrigado aos dois!

Vou dar uma estudada nas Tags!

o/

[]'s

Criado 24 de agosto de 2008
Ultima resposta 25 de ago. de 2008
Respostas 3
Participantes 3