Pessoal, estou utilizando Expression Language no JSP e queria saber o seguinte:
Tenho uma pagina listuser.jsp que eu tenho uma lista de usuários.
<html>
<head>
<link type="text/css" rel="stylesheet" href="ppd.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Usuário</title>
</head>
<body>
<a href="adduser.jsp">Novo Usuário</a>
<jsp:useBean id="user" class="br.ppd.dao.impl.UserDaoImpl"/>
<br>
<table align="left">
<tr>
<td width="400px">Nome</td><td>Usuário</td><td>Senha</td><td width="400px">Email</td><td></td><td></td>
</tr>
<c:forEach var="usuario" items="${user.listUsuario}">
<tr>
<td>${usuario.pessoa.nome}</td>
<td>${usuario.user}</td>
<td>${usuario.password}</td>
<td>${usuario.pessoa.email}</td>
<td>${usuario.pessoa.telefone}</td>
<td>${usuario.pessoa.bairro}</td>
<td>${usuario.pessoa.rua}</td>
<td>${usuario.pessoa.complemento}</td>
<td>${usuario.pessoa.cep}</td>
<td>${usuario.pessoa.cidade.nome}</td>
<td>${usuario.pessoa.estado.nome}</td>
<fmt:formatDate value="${usuario.pessoa.datanascimento}" var="datanascimentoformatada"/>
<td>${datanascimentoformatada}</td>
<td><a href="edituser.jsp?id=${usuario.id}">Editar</a></td>
<td><a href="user?type=remove&id=${usuario.id}">x</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Quando é clicado no link Editar, ele passa o id pra um jsp que coloca os valores para edição. Hoje é feito dessa maneira:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Usuário</title>
</head>
<body>
<%
if(request.getParameter("id") != null){
IUserDao dao = new UserDaoImpl();
Usuario user = dao.getUsuario(Long.parseLong(request.getParameter("id")));
%>
<div id="form">
<form action="user?type=edit&id=<%=user.getId()%>" method="POST">
Nome<br>
<input type="text" name="nome" value="<%=user.getPessoa().getNome()%>"><br>
Usuário<br>
<input type="text" name="user" value="<%=user.getUser()%>"><br>
Senha<br>
<input type="password" name="password" value="<%=user.getPassword()%>"><br>
Email:<br>
<input type="text" name="email" value="<%=user.getPassword()%>"><br>
Telefone:<br>
<input type="text" name="telefone" value="<%=user.getPessoa().getTelefone()%>"><br>
Bairro:<br>
<input type="text" name="bairro" value="<%=user.getPessoa().getBairro()%>"><br>
Rua:<br>
<input type="text" name="rua" value="<%=user.getPessoa().getRua()%>"><br>
Complemento:<br>
<input type="text" name="complemento" value="<%=user.getPessoa().getComplemento()%>"><br>
<jsp:useBean id="estado" class="br.ppd.dao.impl.EstadoDaoImpl"/>
Estado<br>
<select name="id_estado" class="selectbox" style="width:100px;">
<option value="0">Selecione:</option>
<c:forEach var="e" items="${estado.listEstado}">
<option value="${e.id}" <c:if test="${e.id == param.meuparametrodobanco}">Selected=selected</c:if>> ${e.nome}</option>
</c:forEach>
</select><br>
<jsp:useBean id="cidade" class="br.ppd.dao.impl.CidadeDaoImpl"/>
Cidade<br>
<select name="id_cidade" class="selectbox" style="width:100px;">
<option value="0">Selecione:</option>
<c:forEach var="e" items="${cidade.listCidade}">
<option value="${e.id}"> ${e.nome}</option>
</c:forEach>
</select><br>
Data de Nascimento:<br>
<fmt:formatDate value="<%=user.getPessoa().getDatanascimento()%>" var="dataformatada" pattern="dd/MM/yyyy"/>
<input type="text" name="datanascimento" value="${dataformatada}"><br>
<input type="submit" value="Confirmar">
</form>
</div>
<%
}else{
out.println("<h1>Usuário não encontrado</h1>");
}
%>
</body>
</html>
Gostaria de saber como preencher os itens do formulário com a Expression Language. Existe alguma maneira de eu pegar o item do dao com o id usando EL? Como?
O código acima funciona, mas não usado EL.
Obrigado.