Olá pessoal, estou com uma dúvida, gostaria de saber se alguém pode me ajudar.
A dúvida e:
Como preencher os campos de um formulario com informações do banco usando javabeans?
Preencher campos após busca no banco de dados [RESOLVIDO]
9 Respostas
vc conecta no banco (jdbc, hibernate)
vc recupera as informações (sql, hql, criteria)
vc passa estas informações para a view (usando sessão, por exemplo)
na view, basta preencher os valores com o que esta na sessão, por exemplo, ai é JSP.
Poderia me mostrar um exemplo?
voê pode fazer um select com os campos q quer mostrar na sua página com formulários ai cria strings para cada campo. ex:
Cria um RecordSet com esse select:
<%
String parametro = request.getParameter("id"); // aqui recebe o valor passado e manda para o select
Connection = conn;
PreparedStatement = pstm;
conn = SuaConexao.getConnection();
pstm = conn.prepareStatement("select nome, endereco, telefone, email from tabela where id = "+parametro+");
//coloquei o campo id mas você pode por o campo q quer usar como filtro pode ser o nome.
ResultSet rs = pstm.executeQuery();
boolean rs_isEmpty = !rs.next();
// ai
if(!rs_isEmpty){
String nome = rs.getString("nome");
if(nome == null){nome = "";}
String endereco = rs.getString("endereco");
if(endereco == null){endereco = "";}
String telefone = rs.getString("telefone");
if(telefone == null){telefone = "";}
String email = rs.getString("email");
if(email == null){email = "";}
}
%>
//seu formulário html ficaria assim:
<form bla blá vc sabe...>
Nome: <Input type="text" name="nome" value="<%= nome%> /><br/>
Endereço: <Input type="text" name="endereco" value="<%= endereco%> /><br/>
Telefone: <Input type="text" name="telefone" value="<%= telefone%> /><br/>
Email: <Input type="text" name="email" value="<%= email%> /><br/>
</form>
<%
rs.close();
pstm.close();
conn.close();
%>
Acho q é isso q vc quer.
abraço
Hey
Seria algo tipo Auto-complete?
Queria que aparecesse as informações nos campos quando
o usuario desse um clicke no botão editar
Na classe DAO tenho este metodo
public ContatoCad obterPorId(ContatoCad entidade) {
Connection conexao = null;
PreparedStatement statement = null;
ResultSet result = null;
try {
conexao = obterConexao();
statement = conexao.prepareStatement("SELECT id, NOME, EMAIL, TELEFONE FROM contato WHERE ID = ?");
statement.setInt(1, entidade.getId());
result= statement.executeQuery();
if (result.next()) {
ContatoCad retorno = new ContatoCad();
retorno.setId(result.getInt("id"));
retorno.setNome(result.getString("NOME"));
retorno.setEmail(result.getString("EMAIL"));
retorno.setTelefone(result.getString("TELEFONE"));
return retorno;
} else {
return null;
}
e este e o formulario
<html>
<body>
<jsp:useBean id="contato" class="Contato"></jsp:useBean>
<jsp:setProperty property="*" name="contato"/>
<% contato.executar(request, response); %>
<form action="Form.jsp">
<table>
<caption>Cadastrar Contatos</caption>
<tr>
<td>Id:</td>
<td><input type="text" name="id" ></td>
</tr>
<tr>
<td>Nome:</td>
<td><input type="text" name="nome" ></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Telefone:</td>
<td><input type="text" name="telefone"></td>
</tr>
<tr>
<td>Data Nascimento</td>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="submit" value="Cancelar"><input type="submit" name="acao" value="Cadastrar"></td>
</tr>
</table>
</form>
</body>
</html>
Na minha classe Contato tenho este método que inclui ação nos botões
public void executar(HttpServletRequest request, HttpServletResponse response) throws Exception {
if (getAcao() != null && !getAcao().equals("")) {
if (getAcao().equals("Cadastrar")) {
ContatoCad contato = new ContatoCad();
contato.setEmail(getEmail());
contato.setNome(getNome());
contato.setTelefone(getTelefone());
new ContatoDAO().incluir(contato);
response.sendRedirect("List.jsp");
}
e quero criar um botão editar, que quando clikado preencha os campos do formulario com as informações do banco
mas n sei como fazer isso.
Hey…
Então, você já está começando certo, usando as tags <useBean> e etc…
Você terá que fazer o seguinte:
[list]Crie um outro método na classe contato que tem o método executar e colocar editar.[/list]
[list]Crie uma outra página JSP para que carregue as informações após a execução do método editar.[/list]
É basicamente isto, não sei se ainda o que você quer.
Obrigada, vou tentar fazer
Hey…
OK! Qualquer coisa tentar colocar no post os seus arquivos, que tentandos dar um help mais específico!