Olá,
Estou estudando JAVA WEB e estou tendo dificuldades para exibir uma simples EL na página abaixo. Todos os dados informados na página cadPessoa.jsp são salvos no banco, mas a página visualizaPessoa.jsp é exibida apenas com a palavra “oi” sem o nome da pessoa(EL). Por favor, alguém pode explicar porque não está funcionando?
Página visualizaPessoa.jsp:
`<body>
Olá, ${pessoa.nome}
</body>`
Página cadPessoa.jsp
<body>
<form action="mvc?logica=CadastraPessoa" method="post">
<table align="center" cellspacing="5">
<tr>
<th colspan="2" align="center"><h2>Cadastro de pessoa</h2></th>
</tr>
<tr>
<td>Nome:</td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td>Sobrenome:</td>
<td><input type="text" name="sobreNome"></td>
</tr>
<tr>
<td>Rua:</td>
<td><input type="text" name="rua"></td>
</tr>
<tr>
<td>Bairro:</td>
<td><input type="text" name="bairro"></td>
</tr>
<tr>
<td>CEP:</td>
<td><input type="text" name="cep"></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit"
value="Cadastrar"></td>
</tr>
</table>
</form>
</body>
Classe CadastraPessoa:
public class CadastraPessoa implements Logica {
@Override
public String executa(HttpServletRequest req, HttpServletResponse resp) throws Exception {
Pessoa pessoa = new Pessoa();
pessoa.setNome(req.getParameter("nome"));
pessoa.setSobreNome(req.getParameter("sobreNome"));
pessoa.setRua(req.getParameter("rua"));
pessoa.setBairro(req.getParameter("bairro"));
pessoa.setCep(req.getParameter("cep"));
AgendaDao dao = new AgendaDao();
dao.cadastraPessoa(pessoa);
return "visualizaPessoa.jsp";
}
Classe AgendaDao:
public void cadastraPessoa(Pessoa pessoa) throws SQLException {
String sql = "insert into pessoa" + "(nome, sobreNome, rua, bairro, cep)" + "values (?,?,?,?,?)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, pessoa.getNome());
stmt.setString(2, pessoa.getSobreNome());
stmt.setString(3, pessoa.getRua());
stmt.setString(4, pessoa.getBairro());
stmt.setString(5, pessoa.getCep());
stmt.execute();
stmt.close();
JOptionPane.showMessageDialog(null, "Pessoa cadastrada com suceso!");
connection.close();
}
E finalmente a classe <strong>Controller:</strong>
@WebServlet("/mvc")
public class ControllerServlet extends HttpServlet{
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String parametro = req.getParameter("logica");
String nomeDaClasse = "br.com.sigma.logica."+ parametro;
try{
Class<?> classe = Class.forName(nomeDaClasse);
Logica logica = (Logica) classe.newInstance();
String pagina = logica.executa(req, resp);
req.getRequestDispatcher(pagina).forward(req, resp);
}catch(Exception e){
throw new ServletException("A lógica de negócios causou uma exceção", e);
}
}
