El não esta funcionando (oque to fazendo errado?)

[code]<%@page import=“br.com.adspw.beans.ClienteBean”%>
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>

Insert title here
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<jsp:useBean id = "cliente" scope = "page" class = "br.com.adspw.beans.ClienteBean" />
<jsp:useBean id = "endereco" scope = "page" class = "br.com.adspw.beans.EnderecoBean" />
<jsp:useBean id="idDate" class="java.util.Date" />
<% cliente.setEndereco(endereco); %>
<jsp:useBean id = "clienteData" scope = "request" class = "br.com.adspw.persistencia.ClienteDataBean" />

<%
	Integer codigoCliente = Integer.parseInt(request.getParameter("editarCodigo"));

	ClienteBean clientex = clienteData.buscaCliente(codigoCliente);
	
	cliente = clientex;

%>



<fmt:parseDate var="dataEntrada" value="${param.data_entrada}" type="date" /> <%-- Converte data de entrada --%>
<fmt:parseDate var="dataNascimento" value="${param.data_nascimento}" type="date" />

<jsp:setProperty name="cliente" property="codigo" param="codigo" />
<jsp:setProperty name="cliente" property="data_entrada" value = "${dataEntrada}" />
<jsp:setProperty name="cliente" property="data_nascimento" value = "${dataNascimento}" />
<jsp:setProperty name="cliente" property="nome" param="nome" />
<jsp:setProperty name="cliente" property="cpf" param="cpf" />
<jsp:setProperty name="cliente" property="rg" param="rg" />
<jsp:setProperty name="cliente" property="sexo" param="sexo" />
<jsp:setProperty name="cliente" property="email" param="email" />
<jsp:setProperty name="cliente" property="telefone" param="telefone" />
<jsp:setProperty name = "endereco" property = "*" />

<c:choose>
<c:when test = "${empty cliente.nome}">

<form method = "post" action = "index.jsp">

	<div>
		<label>Codigo: </label>
		<input type = "text" name = "codigo" value = "<%= cliente.getCodigo() %>" size = "1" />	
		<label>Data Cadastro: </label>
		<input type="text" name="data_entrada" 
                      value="<fmt:formatDate value="${idDate}" 
                                             type="date" 
                                             dateStyle="short" 
                                             pattern="dd/MM/yyyy"/>" />
        <br />
		<label for = "nome">Nome: </label>
		<input type = "text" name = "nome" value = "${cliente.nome}"/>	
		<br />
		<label for = "cpf">Cpf: </label>
		<input type = "text" name = "cpf" value = "${cliente.cpf}"/>
		<br />
		<label for = "rg">Rg: </label>
		<input type = "text" name = "rg" value = "${cliente.rg}"/>		
		<br />
		<label for = "data_nascimento">Data Nascimento: </label>
		<input type="text" name="data_nascimento" 
                      value="<fmt:formatDate value="${cliente.data_nascimento}" 
                                             type="date" 
                                             dateStyle="short" 
                                             pattern="dd/MM/yyyy"/>" />
		<br />
		<label for = "sexo">Sexo</label>
		<select name = "sexo">
			<option value = "M" <c:if test = "${cliente.sexo  == 'M'}">selected</c:if>>Masculino</option>
			<option value = "F" <c:if test = "${cliente.sexo  == 'F'}">selected</c:if>>Feminino</option>
		</select>
		<br />
		<label for = "email">Email: </label>
		<input type = "text" name = "email" value = "${cliente.email}"/>
		<br />
		<label for = "telefone">Telefone: </label>
		<input type = "text" name = "telefone" value = "${cliente.telefone}"/>
		<br />
		<label for = "cep">Cep: </label>
		<input type = "text" name = "cep" value = "${cliente.endereco.cep}"/>
		<br />
		<label for = "rua">Rua: </label>
		<input type = "text" name = "rua" value = "${cliente.endereco.rua}"/>
		<br />
		<label for = "numero">Numero: </label>
		<input type = "text" name = "numero" value = "${cliente.endereco.numero}"/>
		<br />
		<label for = "compelemento">Complemento: </label>
		<input type = "text" name = "complemento" value = "${cliente.endereco.complemento}"/>
		<br />
		<label for = "cidade">Cidade: </label>
		<input type = "text" name = "cep" value = "${cliente.endereco.cidade}"/>
		<br />
		<br />
		<input type = "submit" value = "salvar" />
		</div>
		</form>
		</c:when>
		<c:otherwise>
			<% if(clienteData.salvaOuAltera(cliente)){%>
				<script language ="Javascript">
      				window.location.href = "listaCliente.jsp";
				</script>
			<%} %>
			 
        </c:otherwise>
        </c:choose>
[/code]

quando uso <%= cliente.getCodigo() %>
ele funciona perfeitamente ele pega o codigo que busquei no banco.

agora quando uso “${cliente.codigo}”

ele pega o código que o construtor colocou “0” e valores tudo em branco nos demais campos
porque isso?

solução para isso é oque?

Obrigado.