[quote=fec]Dá uma pesquisada sobre DataModel.
Quando tu clica em uma linha da tabela tu já trás o registro da mesma.
Ou então se tu tiver usando jsf 1.2 dá uma olhada em <f:setpropertyActionListener>.
Valew![/quote]
bem, eu dei uma procurada e ateconsegui fazer algo, porem, nao esta preenchendo os dados do form
veja oq tenho feito
pessoabusca.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
<f:view>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; UTF-8">
<link href="../css/css_azul.css" rel="stylesheet" type="text/css">
<link href="../css/css_azul_form.css" rel="stylesheet" type="text/css">
<link href="../css/css_azul_tbl.css" rel="stylesheet" type="text/css">
<title>Insert title here</title>
</head>
<body>
<div class="ContainerForm">
<span class="TituloBarraEsq"> </span>
<span class="TituloBarra"><h1>Busca de Pessoa</h1></span>
<span class="TituloBarraDir"> </span>
<h:form id="form">
<fieldset>
<span style="width:210px"> Nome: <h:inputText value="#{pessoaBuscaMB.pessoaFisicaDB.pessoaFisica.nome}" id="nome" maxlength="30" size="30" styleClass="FormCampo" ></h:inputText></span>
<span style="width:115px"> Pessoa:
<h:selectOneMenu id="tipoId" styleClass="FormCampo">
<f:selectItem itemValue="0" itemLabel="" />
<f:selectItem itemValue="1" itemLabel="Fisica" />
<f:selectItem itemValue="2" itemLabel="Juridica" />
</h:selectOneMenu>
</span>
<span style="width:185px"> CPF/CNPJ: <h:inputText id="docCPF" maxlength="20" size="21" styleClass="FormCampo"></h:inputText> </span>
<span style="width:180px"> Status
<h:selectOneMenu id="statusId" styleClass="FormCampo">
<f:selectItem itemValue="0" itemLabel="" />
<f:selectItem itemValue="1" itemLabel="Ativo" />
<f:selectItem itemValue="2" itemLabel="Inativo" />
</h:selectOneMenu>
<h:commandButton id="comandoCadastrar" value="Procurar" action="#{pessoaBuscaMB.busca}" >
</h:commandButton>
</span>
</fieldset>
<div id="Erro">
<h:dataTable value="#{pessoaBuscaMB.pessoaFisicaDB.listaPorParametro}" id="tabela" var="pessoa" border="0" rowClasses="TbltrTrue,TbltrFalse" width="750">
<h:column>
<f:facet name="header">
<h:outputText value="Código" />
</f:facet>
<h:outputText value="#{pessoa.id}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{pessoa.nome}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="CPF/CNPJ" />
</f:facet>
<h:outputText value="#{pessoa.cpf}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Status" />
</f:facet>
<h:outputText value="#{pessoa.status}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Editar" />
</f:facet>
<h:outputText value="#{pessoa.id}"/>
<h:commandLink value="Editar" action="#{pessoaBuscaMB.buscaPorId}">
<f:param name="id" value="#{pessoa.id}" />
</h:commandLink>
</h:column>
</h:dataTable>
</div>
</h:form>
</body>
</html>
</f:view>
PessoaBuscaMB.java
package br.com.krusst.precadastro.managedbeans;
import br.com.krusst.precadastro.dao.PessoaFisicaDB;
public class PessoaBuscaMB extends PessoaFisicaDB {
PessoaFisicaDB pessoaFisicaDB = new PessoaFisicaDB();
public PessoaBuscaMB(PessoaFisicaDB pessoaFisicaDB) {
super();
this.pessoaFisicaDB = pessoaFisicaDB;
}
public PessoaBuscaMB() {
super();
}
public PessoaFisicaDB getPessoaFisicaDB() {
return pessoaFisicaDB;
}
public void setPessoaFisicaDB(PessoaFisicaDB pessoaFisicaDB) {
this.pessoaFisicaDB = pessoaFisicaDB;
}
public String busca(){
return "busca";
}
public String buscaPorId() throws Exception{
this.pessoaFisicaDB.getListaPorId();
return "buscaId";
}
}
PessoaFisicaDB.java
package br.com.krusst.precadastro.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.component.UIParameter;
import javax.faces.event.ActionEvent;
import org.apache.commons.beanutils.converters.StringConverter;
import br.com.krusst.precadastro.beans.PessoaFisica;
import br.com.krusst.precadastro.beans.Status;
import br.com.krusst.precadastro.database.GerenciadorConexao;
import br.com.krusst.precadastro.util.KrusstException;
import br.com.krusst.precadastro.util.Conversor;
public class PessoaFisicaDB implements PessoaFisicaDAO{
private PessoaFisica pessoaFisica = new PessoaFisica();
final String BUSCA_POR_PARAMETRO = "EXEC SPPessoaBuscaPorParametro ?,?,?,?";
public PessoaFisica getPessoaFisica() {
return pessoaFisica;
}
public void setPessoaFisica(PessoaFisica pessoaFisica) {
this.pessoaFisica = pessoaFisica;
}
public void getListaPorId() throws Exception{
Connection conn = null;
ResultSet rs = null;
String sql = BUSCA_POR_PARAMETRO;
this.pessoaFisica.setId(90);
try {
conn = GerenciadorConexao.getConexao();
CallableStatement clblStmt = conn.prepareCall(sql);
clblStmt.setInt(1,this.pessoaFisica.getId());
clblStmt.setString(2,"");
clblStmt.setString(3,"");
clblStmt.setInt(4,0);
rs = clblStmt.executeQuery();
rs.next();
this.pessoaFisica.setNome(rs.getString(2));
this.pessoaFisica.setCpf("123456789");
} catch (Exception e) {
throw new Exception(e);
}
}
}
nao reparem, mas por questao de testes, fiz o parametro por HARDCODE, mas, mesmo assim, nao estao vindo os dados, ele me abre o form em branco
sobre o jsf 1.2, nao estou usando, pos ele tem um BUG no DataTable qdo usado junto com TomCat6
meus BEANs estao configurados para scopo de Request, porem, ja testei no Session e Aplication, e nao deu certo também
e alem desses problemas, qdo eu click no botao “Procurar” ele me da a seguinte mensagem de erro no Java Script
Erro em tempo de execução.
Deseja depurá-lo?
Linha: 281
Erro: 'elements' é nulo ou não é um objeto
porem, se eu removo o botao
<h:commandLink value="Editar" action="#{pessoaBuscaMB.buscaPorId}">
<f:param name="id" value="#{pessoa.id}" />
</h:commandLink>
ele nao gera erro
ate agora é isso o que eu tenho, e esses sao os mes problemas
abs
obrigado