juniorsatanas 11 de mar. de 2010
Ta usando JSP ?
olha como fica usando XHTML…
& lt ; ? xml version = "1.0" encoding = "ISO-8859-1" ? & gt ;
& lt ; ! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" & gt ;
& lt ; html xmlns = "http://www.w3.org/1999/xhtml"
xmlns : ui = "http://java.sun.com/jsf/facelets"
xmlns : h = "http://java.sun.com/jsf/html"
xmlns : f = "http://java.sun.com/jsf/core"
xmlns : a4j = "http://richfaces.org/a4j"
xmlns : rich = "http://richfaces.org/rich" & gt ;
& lt ; style type = "text/css" & gt ;
. ecol1 { vertical - align : top ; padding - right : 25 px }
. ecol2 { vertical - align : top ; border - left : #ACBECE 1px solid; padding-left : 10px }
. rich - calendar - tool - btn {
font - family : Arial , Verdana ;
}
& lt ; / style & gt ;
& lt ; head & gt ;
& lt ; meta http - equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" /& gt ;
& lt ; link rel = "StyleSheet" type = "text/css" href = "../style/estilos.css" media = "screen" /& gt ;
& lt ; / head & gt ;
& lt ; a4j : keepAlive beanName = "pessoaMB" /& gt ;
& lt ; ui : composition template = "/template/template.xhtml" & gt ;
& lt ; ui : define name = "corpo" & gt ;
& lt ; rich : tabPanel switchType = "ajax" & gt ;
& lt ; rich : tab label = "Cadastro de Mensalidade" & gt ;
& lt ; a4j : form & gt ;
& lt ; rich : messages /& gt ;
& lt ; legend & gt ; Cadastro de Pessoa & lt ; / legend & gt ;
& lt ; a4j : region id = "regiaoAjax" & gt ;
& lt ; a4j : status id = "sts" & gt ;
& lt ; f : facet name = "start" & gt ;
& lt ; h : graphicImage value = "/images/ajax-loader_1.gif" /& gt ;
& lt ; / f : facet & gt ;
& lt ; / a4j : status & gt ;
& lt ; / a4j : region & gt ;
& lt ; !-- INICIA FORMULARIO --& gt ;
& lt ; fieldset & gt ;
& lt ; h : panelGrid columns = "2" id = "inputs" & gt ;
& lt ; h : outputLabel for = "matricula" value = "Digite a Matrícula: " /& gt ;
& lt ; h : inputText id = "matriuclaInput" value = "#{pessoaMB.pessoa.matricula}" styleClass = "inputPesquisa" & gt ;
& lt ; a4j : commandButton value = "Pesquisar" action = "#{pessoaMB.pesquisaByMatricula}" styleClass = "inputPesquisaBtn2" reRender = "inputs,fisicas,pessoas,listaumensalidade" & gt ;
& lt ; / a4j : commandButton & gt ;
& lt ; / h : inputText & gt ;
Nome :
& lt ; h : selectOneMenu & gt ;
& lt ; f : selectItems id = "comboSelectItens" value = "#{mensalidadeMB.PessoaParaComboBox}" /& gt ;
& lt ; / h : selectOneMenu & gt ;
& lt ; h : inputText id = "idMensalidade" value = "#{mensalidadeMB.mensalidade.idMensalidade}" styleClass = "inputPesquisa3" size = "4" & gt ;
& lt ; / h : inputText & gt ;
& lt ; h : outputLabel for = "Data Pagamento.:" value = "Data Pagamento.: " /& gt ;
& lt ; rich : calendar id = "data_pag" value = "#{mensalidadeMB.mensalidade.data_pag}" & gt ;
& lt ; a4j : support event = "ondateselected" /& gt ;
& lt ; / rich : calendar & gt ;
& lt ; h : outputLabel for = "valor" value = "Valor.: ($)" /& gt ;
& lt ; h : inputText id = "valor" value = "#{mensalidadeMB.mensalidade.valor}" styleClass = "edit" size = "30" & gt ;
& lt ; / h : inputText & gt ;
& lt ; / h : panelGrid & gt ;
|& lt ; a4j : commandButton value = "Inserir" action = "#{mensalidadeMB.salva}" status = "sts" reRender = "inputs,fisicas,pessoas,mensalidade,mensalidades" styleClass = "botoes" /& gt ;
|& lt ; a4j : commandButton value = "Deletar" action = "#{mensalidadeMB.delete}" status = "sts" reRender = "inputs,fisicas,pessoas,mensalidade" styleClass = "botoes" /& gt ;
|& lt ; a4j : commandButton value = "Modificar" action = "#{mensalidadeMB.merge}" status = "sts" reRender = "inputs,fisicas,pessoas,mensalidade" styleClass = "botoes" /& gt ;
|& lt ; a4j : commandButton value = "Listar" action = "#{mensalidadeMB.list}" status = "sts" reRender = "inputs,fisicas,pessoas,mensalidade" styleClass = "botoes" /& gt ;
|& lt ; a4j : commandButton value = "Relatório" action = "toCadastraMensalidade" status = "sts" reRender = "inputs,fisicas,pessoas,mensalidade" styleClass = "botoes" /& gt ;
|& lt ; a4j : commandButton value = "Menslidades" action = "toCadastraMensalidade" immediate = "true" styleClass = "botoes" /& gt ;
|& lt ; a4j : commandButton value = "Voltar" immediate = "true" action = "toIndex" styleClass = "botoes" /& gt ; |
& lt ; / fieldset & gt ;
& lt ; rich : messages /& gt ;
& lt ; fieldset & gt ; & lt ; legend & gt ; Atualização de Dados & lt ; / legend & gt ;
& lt ; f : subview id = "listauser" & gt ;
& lt ; rich : dataTable value = "#{pessoaMB.pessoas}" var = "pessoa" rows = "1" id = "pessoas" width = "100%" cellspacing = "0" cellpadding = "0" border = "5" & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "MATRÍCULA" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoa.matricula}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "NOME" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoa.nome}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "STATUS" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoa.status}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "Excluir" /& gt ;
& lt ; / f : facet & gt ;
& lt ; a4j : commandLink action = "#{pessoaMB.delete}" status = "sts" reRender = "inputs,fisicas,pessoas" & gt ;
& lt ; h : outputText value = "Excluir" /& gt ;
& lt ; f : setPropertyActionListener value = "#{pessoa.id}" target = "#{pessoaMB.id}" /& gt ; & lt ; !-- pega o id --& gt ;
& lt ; / a4j : commandLink & gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "Editar" /& gt ;
& lt ; / f : facet & gt ;
& lt ; a4j : commandLink reRender = "inputs,fisicas,pessoas" & gt ;
& lt ; h : outputText value = "Editar" /& gt ;
& lt ; f : setPropertyActionListener value = "#{pessoa}" target = "#{pessoaMB.pessoa}" /& gt ;
& lt ; / a4j : commandLink & gt ;
& lt ; / h : column & gt ;
& lt ; f : facet name = "footer" & gt ;
& lt ; rich : datascroller /& gt ;
& lt ; / f : facet & gt ;
& lt ; / rich : dataTable & gt ;
& lt ; / f : subview & gt ;
& lt ; f : subview id = "listaumensalidade" & gt ;
& lt ; rich : dataTable value = "#{mensalidadeMB.mensalidades}" var = "mensalidade" rows = "5" id = "mensalidades" width = "100%" cellspacing = "0" cellpadding = "0" border = "5" & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "CÓDIGO" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{mensalidade.idMensalidade}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "DATA/PAGAMENTO" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{mensalidade.data_pag}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "VALOR" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{mensalidade.valor}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "Excluir" /& gt ;
& lt ; / f : facet & gt ;
& lt ; a4j : commandLink action = "#{mensalidadeMB.delete}" status = "sts" reRender = "inputs,mensalidade,mensalidades" & gt ;
& lt ; h : outputText value = "Excluir" /& gt ;
& lt ; f : setPropertyActionListener value = "#{mensalidade.idMensalidade}" target = "#{mensalidadeMB.idMensalidade}" /& gt ; & lt ; !-- pega o id --& gt ;
& lt ; / a4j : commandLink & gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "Editar" /& gt ;
& lt ; / f : facet & gt ;
& lt ; a4j : commandLink reRender = "inputs,mensalidade,mensalidades" & gt ;
& lt ; h : outputText value = "Editar" /& gt ;
& lt ; f : setPropertyActionListener value = "#{mensalidade}" target = "#{mesalidadeMB.mensalidade}" /& gt ;
& lt ; / a4j : commandLink & gt ;
& lt ; / h : column & gt ;
& lt ; f : facet name = "footer" & gt ;
& lt ; rich : datascroller /& gt ;
& lt ; / f : facet & gt ;
& lt ; / rich : dataTable & gt ;
& lt ; / f : subview & gt ;
& lt ; / fieldset & gt ;
& lt ; / a4j : form & gt ;
& lt ; / rich : tab & gt ;
& lt ; !-- ****************************************************************** TAB LISTA DE PESSOAS **************************************************--& gt ;
& lt ; rich : tab label = "Lista de Pessoas" & gt ;
& lt ; f : subview id = "listauser" & gt ;
& lt ; a4j : form & gt ;
& lt ; rich : messages /& gt ;
& lt ; fieldset & gt ;
& lt ; a4j : region id = "regiaoAjax" & gt ;
& lt ; a4j : status id = "sts" & gt ;
& lt ; f : facet name = "start" & gt ;
& lt ; h : graphicImage value = "/images/ajax-loader_1.gif" /& gt ;
& lt ; / f : facet & gt ;
& lt ; / a4j : status & gt ;
& lt ; / a4j : region & gt ;
& lt ; h : panelGrid columns = "2" id = "inputs" & gt ;
& lt ; h : outputLabel for = "nomeLabel" value = "Digite o Nome: " /& gt ;
& lt ; h : inputText id = "nomeInput" value = "#{pessoaMB.pessoa.nome}" style = " width : 250px;" styleClass = "inputPesquisa" & gt ;
& lt ; a4j : commandButton value = "Pesquisar" action = "#{pessoaMB.pesquisaByNome}" reRender = "pessoas" & gt ;
& lt ; / a4j : commandButton & gt ;
& lt ; / h : inputText & gt ;
& lt ; / h : panelGrid & gt ;
& lt ; / fieldset & gt ;
& lt ; rich : dataTable value = "#{pessoaMB.pessoas}" var = "pessoa" rows = "10" id = "pessoas" width = "100%" cellspacing = "0" cellpadding = "0" border = "1" & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "MATRÍCULA" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoaMB.pessoa.matricula}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "NOME" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoaMB.pessoa.nome}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "E-MAIL" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoaMB.pessoa.email}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "CPF" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoaMB.pessoa.cpf}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "DATA NASC." /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoaMB.pessoa.data_nasc}" & gt ;
& lt ; f : convertDateTime pattern = "dd/MM/yyyy" /& gt ;
& lt ; / h : outputText & gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "CELULAR" /& gt ;
& lt ; / f : facet & gt ;
& lt ; h : outputText value = "#{pessoaMB.pessoa.celular}" /& gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "Excluir" /& gt ;
& lt ; / f : facet & gt ;
& lt ; a4j : commandLink action = "#{pessoaMB.delete}" status = "sts" reRender = "inputs,fisicas,pessoas" & gt ;
& lt ; h : outputText value = "Excluir" /& gt ;
& lt ; f : setPropertyActionListener value = "#{pessoa.id}" target = "#{pessoaMB.id}" /& gt ;
& lt ; / a4j : commandLink & gt ;
& lt ; / h : column & gt ;
& lt ; h : column & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "Editar" /& gt ;
& lt ; / f : facet & gt ;
& lt ; a4j : commandLink reRender = "inputs,fisicas,pessoas" & gt ;
& lt ; h : outputText value = "Editar" /& gt ;
& lt ; f : setPropertyActionListener value = "#{pessoa}" target = "#{pessoaMB.pessoa}" /& gt ;
& lt ; / a4j : commandLink & gt ;
& lt ; / h : column & gt ;
& lt ; f : facet name = "footer" & gt ;
& lt ; rich : datascroller /& gt ;
& lt ; / f : facet & gt ;
& lt ; / rich : dataTable & gt ;
& lt ; / a4j : form & gt ;
& lt ; / f : subview & gt ;
& lt ; / rich : tab & gt ;
& lt ; !-- ****************************** FIM ************************************ TAB LISTA DE PESSOAS ********************************************--& gt ;
& lt ; rich : tab label = "Filtros" & gt ;
& lt ; / rich : tab & gt ;
& lt ; rich : tab label = "Relatórios" & gt ;
& lt ; / rich : tab & gt ;
& lt ; / rich : tabPanel & gt ;
& lt ; / ui : define & gt ;
& lt ; / ui : composition & gt ;
& lt ; / html & gt ;
juniorsatanas 11 de mar. de 2010
tu pode controlar tudo mostra onde quiser até em um panel :
# <rich:messages />
# <fieldset>
# <a4j:region id="regiaoAjax">
# <a4j:status id="sts">
# <f:facet name="start">
# <h:graphicImage value="/images/ajax-loader_1.gif" />
# </f:facet>
# </a4j:status>
# </a4j:region>
juniorsatanas 11 de mar. de 2010
olha aqui:
required=“true”
& lt ; ui : composition xmlns = "http://www.w3.org/1999/xhtml"
xmlns : ui = "http://java.sun.com/jsf/facelets"
xmlns : h = "http://java.sun.com/jsf/html"
xmlns : f = "http://java.sun.com/jsf/core"
xmlns : a4j = "http://richfaces.org/a4j"
xmlns : rich = "http://richfaces.org/rich" & gt ;
& lt ; h : form id = "ajaxValidatorForm" & gt ;
& lt ; rich : panel & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "User Info:" /& gt ;
& lt ;/ f : facet & gt ;
& lt ; h : panelGrid columns = "3" & gt ;
& lt ; h : outputText value = "Name:" /& gt ;
& lt ; h : inputText value = "#{userBean.name}" id = "name" required = "true" & gt ;
& lt ; f : validateLength minimum = "3" maximum = "12" /& gt ;
& lt ; rich : ajaxValidator event = "onblur" /& gt ;
& lt ;/ h : inputText & gt ;
& lt ; rich : message for = "name" /& gt ;
& lt ; h : outputText value = "Age:" /& gt ;
& lt ; h : inputText value = "#{userBean.age}" id = "age" required = "true" & gt ;
& lt ; f : convertNumber integerOnly = "true" /& gt ;
& lt ; f : validateLongRange minimum = "18" maximum = "99" /& gt ;
& lt ; rich : ajaxValidator event = "onblur" /& gt ;
& lt ;/ h : inputText & gt ;
& lt ; rich : message for = "age" /& gt ;
& lt ;/ h : panelGrid & gt ;
& lt ;/ rich : panel & gt ;
& lt ;/ h : form & gt ;
& lt ;/ ui : composition & gt ;
juniorsatanas 11 de mar. de 2010
olha este exemplo:
/**
*
*/
package org.richfaces.demo.validation ;
import org.hibernate.validator.Email ;
import org.hibernate.validator.Length ;
import org.hibernate.validator.Max ;
import org.hibernate.validator.Min ;
import org.hibernate.validator.NotEmpty ;
import org.hibernate.validator.NotNull ;
import org.hibernate.validator.Pattern ;
/**
* @author Ilya Shaikovsky
*
*/
public class ValidationBean {
private String progressString = "Fill the form please" ;
@NotEmpty
@Pattern ( regex = ".*[^\\s].*" , message = "This string contain only spaces" )
@Length ( min = 3 , max = 12 )
private String name ;
@Email
@NotEmpty
private String email ;
@NotNull
@Min ( 18 )
@Max ( 100 )
private Integer age ;
public ValidationBean () {
}
public String getName () {
return name ;
}
public void setName ( String name ) {
this . name = name ;
}
public String getEmail () {
return email ;
}
public void setEmail ( String email ) {
this . email = email ;
}
public Integer getAge () {
return age ;
}
public void setAge ( Integer age ) {
this . age = age ;
}
public void success () {
setProgressString ( getProgressString () + "(Strored successfully)" );
}
public String getProgressString () {
return progressString ;
}
public void setProgressString ( String progressString ) {
this . progressString = progressString ;
}
}
& lt ; ui : composition xmlns = "http://www.w3.org/1999/xhtml"
xmlns : ui = "http://java.sun.com/jsf/facelets"
xmlns : h = "http://java.sun.com/jsf/html"
xmlns : f = "http://java.sun.com/jsf/core"
xmlns : a4j = "http://richfaces.org/a4j"
xmlns : rich = "http://richfaces.org/rich" & gt ;
& lt ; h : form id = "ajaxValidatorForm2" & gt ;
& lt ; rich : panel & gt ;
& lt ; f : facet name = "header" & gt ;
& lt ; h : outputText value = "User Info:" /& gt ;
& lt ;/ f : facet & gt ;
& lt ; h : panelGrid columns = "3" & gt ;
& lt ; h : outputText value = "Name:" /& gt ;
& lt ; h : inputText value = "#{validationBean.name}" id = "name" required = "true" & gt ;
& lt ; rich : ajaxValidator event = "onblur" /& gt ;
& lt ;/ h : inputText & gt ;
& lt ; rich : message for = "name" /& gt ;
& lt ; h : outputText value = "Email:" /& gt ;
& lt ; h : inputText value = "#{validationBean.email}" id = "email" & gt ;
& lt ; rich : ajaxValidator event = "onblur" /& gt ;
& lt ;/ h : inputText & gt ;
& lt ; rich : message for = "email" /& gt ;
& lt ; h : outputText value = "Age:" /& gt ;
& lt ; h : inputText value = "#{validationBean.age}" id = "age" & gt ;
& lt ; rich : ajaxValidator event = "onblur" /& gt ;
& lt ;/ h : inputText & gt ;
& lt ; rich : message for = "age" /& gt ;
& lt ;/ h : panelGrid & gt ;
& lt ;/ rich : panel & gt ;
& lt ;/ h : form & gt ;
& lt ;/ ui : composition & gt ;
juniorsatanas 11 de mar. de 2010