Pagina do Cadastro de Pessoa
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<f:view>
<html>
<head>
<title>Loca- Cadastro Pessoa</title>
</head>
<body>
<h:form>
<h:outputLabel value="Cadastro Pessoa" style="FONT-WEIGHT: bold;" /> /
<h:outputLink
value="#{facesContext.externalContext.requestContextPath}/pages/cadastro.jsf">
<f:verbatim>Cadastro</f:verbatim>
</h:outputLink> /
<h:outputLink
value="#{facesContext.externalContext.requestContextPath}/pages/login.jsf">
<f:verbatim>Logout</f:verbatim>
</h:outputLink>
<br>
<br>
<h:commandButton action="#{pessoaMB.novoPessoaMB}" value="Novo" immediate="true" onchange="submit"/>
<h:commandButton action="#{pessoaMB.salvarPessoaMB}" value="Salvar"/>
<h:commandButton action="#{pessoaMB.excluirPessoaMB}" value="Excluir" />
<h:commandButton action="#{pessoaMB.imprimirPessoaMB}" value="Imprimir" />
Imaginem que eu cliquei em neste comando:
<h:commandButton action="#{pessoaMB.imprimirPessoaMB}" value=“Imprimir” />
Ele vai chamar esse metodo que esta dentro da classe PessoaMB >>> .imprimirPessoaMB ele é desse jeito mesmo so para chamar
o meu Relatorio.
public String imprimirPessoaMB(){
return "pessoarelato";
}
Agora imagine chamou meu relatorio OK, neste instante ele chama um metodo dentro do relatorio:
<h:dataTable value="#{pessoaMB.pessoaData}" var="pessoa" >
=====================================================================================
Pagina do Relatorio report/pessoa.jsf
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<head>
<title>Loca- Imprimir Pessoa</title>
</head>
<body>
<f:view>
<h:form>
<h:outputLabel value="Imprimir Pessoa" style="FONT-WEIGHT: bold;" /> /
<h:outputLink
value="#{facesContext.externalContext.requestContextPath}/pages/pessoa.jsf">
<f:verbatim>Pessoa</f:verbatim>
</h:outputLink> /
<h:outputLink
value="#{facesContext.externalContext.requestContextPath}/pages/login.jsf">
<f:verbatim>Logout</f:verbatim>
</h:outputLink>
<br>
<br>
<br>
<h:dataTable value="#{pessoaMB.pessoaData}" var="pessoa" >
<h:column>
<f:facet name="header">
<h:outputLabel value="Codigo Reduzido" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbCodReduzido}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="Nome Completo" style="FONT-SIZE: small;"/>
</f:facet>
<h:commandLink value="#{pessoa.mbNomeCompleto}" action="#{pessoaMB.viewDetail}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="Endereço" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbEndereco}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="Numero" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbNumero}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="Bairro" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbBairro}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="Cidade" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbCidade}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="Estado" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbEstado}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="CEP" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbCep}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="E-mail" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbEmail}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="RG" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbRg}" style="FONT-SIZE: small;"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputLabel value="CPF" style="FONT-SIZE: small;"/>
</f:facet>
<h:outputText value="#{pessoa.mbCpf}" style="FONT-SIZE: small;"/>
</h:column>
</h:dataTable>
<div style="COLOR: #ff8000;" align="center">
_________________________________________________________________________________________________________________________________________________________________________
<h:graphicImage value="/imagem/LocaDeveloper.jpg"
style="height : 32px; width : 128px;" />
</div>
</h:form>
</f:view>
</body>
</html>
=====================================================================================
Esse kra pessoaMB.pessoaData chama outro metodo:
@SuppressWarnings("unchecked")
public ListDataModel getPessoaData() {
System.out.println(" GET Link *********** ");
pc.imprimirPessoaHb();
pessoaData = new ListDataModel(pc.pessoaList);
return pessoaData;
}
@SuppressWarnings("unchecked")
public void setPessoaData(ListDataModel pessoaData) {
System.out.println(" SET Link *********** ");
this.pessoaData = pessoaData;
}
Esse kra chama um metodo dentro do meu PessoaControle pc.imprimirPessoaHb(); responsavel por fazer uma List
e colocar dentro desse kra pessoaData = new ListDataModel(pc.pessoaList); e depois return pessoaData;
E entao volta para o Relatorio populado, OK
@SuppressWarnings("unchecked")
public void imprimirPessoaHb() {
Session sessions = HbLocator.currentSession();
Transaction tx = sessions.beginTransaction();
try {
Query query = sessions.createQuery("from Pessoa");
Iterator it = query.iterate();
pessoaList = new ArrayList();
while(it.hasNext()){
Pessoa p = (Pessoa) it.next();
pessoa = new Pessoa();
pessoa.setMbIdPessoa(p.getMbIdPessoa());
pessoa.setMbCodReduzido(p.getMbCodReduzido());
pessoa.setMbCodAlternativo(p.getMbCodAlternativo());
pessoa.setMbNomeCompleto(p.getMbNomeCompleto());
pessoa.setMbDataNasc(p.getMbDataNasc());
pessoa.setMbSexo(p.getMbSexo());
pessoa.setMbEndereco(p.getMbEndereco());
pessoa.setMbNumero(p.getMbNumero());
pessoa.setMbBairro(p.getMbBairro());
pessoa.setMbCidade(p.getMbCidade());
pessoa.setMbEstado(p.getMbEstado());
pessoa.setMbCep(p.getMbCep());
pessoa.setMbEmail(p.getMbEmail());
pessoa.setMbRg(p.getMbRg());
pessoa.setMbCpf(p.getMbCpf());
pessoa.setMbFuncCadPor(p.getMbFuncCadPor());
pessoa.setMbFuncCadData(p.getMbFuncCadData());
pessoa.setMbFuncAltPor(p.getMbFuncAltPor());
pessoa.setMbFuncAltData(p.getMbFuncAltData());
pessoa.setMbInss(p.getMbInss());
pessoa.setMbIss(p.getMbIss());
pessoa.setMbIrpf(p.getMbIrpf());
pessoaList.add(pessoa);
System.out.println("list : "+pessoa.getMbNomeCompleto());
}
tx.commit();
} catch (Exception e) {
tx.rollback();
}
HbLocator.closeSession();
}
===================================================================================
Vejam o Resultado Final
Imprimir Pessoa / Pessoa / Logout
Codigo Reduzido Nome Completo Endereço Numero Bairro Cidade Estado CEP E-mail RG CPF
F0001 teste01 teste01 1 teste01 teste01 SP 1 teste01@ 1 1
F0002 teste02 teste02 2 teste02 teste02 SP 2 teste02@ 2 2
F0003 teste03 teste03 3 teste03 teste03 SP 3 teste03@ 3 3
F0004 teste04 teste04 4 teste04 teste04 SP 4 teste04@ 4 4
F0005 teste05 teste05 5 teste05 teste05 SP 5 teste05@ 5 5
F0006 teste06 teste06 6 teste06 teste06 SP 6 teste06@ 6 6
F0007 teste07 teste07 7 teste07 teste07 SP 7 teste07@ 7 7
Galera obrigado pela ajuda e foi muito dificil ter conseguido resolver este problema com ListaDataModel
Bom espero ter ajudado varias pessoas com esse pequeno tutorial
Valeuuu!