Dúvida Expression Language

0 respostas
xivan

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.

Criado 26 de setembro de 2011
Respostas 0
Participantes 1