Olá amigos, estou precisando popular um JavaBean com os Dados do formulário e estou tendo um pouco de dificuldade. Segue abaixo o que tenho e como estou fazendo:
JavaBean: Aluno.java
public class Cidade {
private int id;
private String nome;
private String uf;
//Abaixo terá apenas métodos Setters e Getters
...
}
Agora criei o formulário: cidade_form.jsp
...
<div id="form">
<jsp:useBean id="bean" class="bean.Cidade" scope="session">
<jsp:setProperty name="bean" property="*" />
</jsp:useBean>
<form method="post" name="form" action="cidade.html">
<div id="form_field">
Código <input type="text" name="id" id="id" value="${bean.id}" /><br>
Nome <input type="text" name="nome" id="nome" value="${bean.nome}" /><br>
Sigla <input type="text" name="uf" id="uf" value="${bean.uf}" />
</div>
<div id="form_botao">
<input type="submit" name="cadastrar" value="Cadastrar" />
</div>
</form>
</div>
...
A action do form é cidade.html, na verdade este é um mapeamento de um Servlet. E segue este servelt: (CidadeServlet.java -> mapeado: cidade.html)
...
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Popula o bean
Cidade bean = new Cidade();
bean.setId(Integer.valueOf(request.getParameter("id")));
bean.setNome(request.getParameter("nome"));
bean.setUf(request.getParameter("uf"));
//Seta um atributo com o bean
request.setAttribute("bean", bean);
try {
CidadeDAO dao = new CidadeDAO();
dao.save(bean);
} catch (SQLException e) {
//Trata erro
}
}
...
O que eu quero chamar a atenção é para as linhas que utilizo para popular o bean e setá-lo no request novamente. Neste caso, com poucos campo é simples de fazer… Mais eu fico pensando quando tiver uma tabela com uns 10 campos… Olha qta coisa terei de fazer…
Então, gostaria de saber se existe uma maneira mais fácil para mim popular o bean com os dados do formulário… Tipo se existisse uma forma de fazer algo assim:
...
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Popula o bean
Cidade bean = (Cidade) request.getParameter("UmBeanJaPopuladoPeloForm");
try {
CidadeDAO dao = new CidadeDAO();
dao.save(bean);
} catch (SQLException e) {
//Trata erro
}
}
...
Alguém poderia me ajudar com isto ??