Completar Endereço pelo Cep no Struts 2

1 resposta
J

Olá a todos,
é meu primeiro post no GUJ, muita das minhas duvidas foram tiradas aqui mas pesquisei em diversos lugares inclusive na documentação do Struts 2 e não achei solução…
Possuo uma base de + ou - 700.000 ceps com endereço completo, e pretendo utilizar essa base para para fazer um preenchimento automático do endereço logo após a inserção do cep pelo usuário. Eu sei fazer utilizando JEE padrão com utilizando Dojo para atualizar os campos via Ajax… O problema que no Struts 2 não consigo fazer o Bind e preencher os campos do endereço.
Aqui vai um exemplo do que eu quero fazerhttps://www.wintrade.com.br/Registration/ProspectCompanyWizard/BasicInformationStep.win
Simplifiquei o formulário para ficar mais fácil a visualização.

formulario.jsp

<s:form  method="post" name="formCep">
	<!--Ao perder o foco deve preencher o restante do endereço-->
	<s:textfield label="CEP" name="num_cep" required="true" onblur=""/> 
	<s:textfield label="Logradouro" name="logradouro" required="true"/>
	<s:textfield label="Bairro" name="bairro" required="true"/>
	<s:textfield label="Cidade" name="cidade" required="true"/>
	<s:submit value="Enviar"/>
</s:form>

CepAction.java

public class CepAction extends ActionSupport {

	private static final long serialVersionUID = -574555897713965228L;
	
	private String num_cep;
	private String logradouro;
	private String bairro;
	private String cidade;

	public String execute() throws Exception {
                           Endereco e;
                           BaseDeCepDAO base = new BaseDeCepDAO();
                    try{
                           e = base.buscaEndereco(this.num_cep); //retorna o objeto endereco
                           
                            setNum_cep(e.getNumCep());  //seta os atributos da CepAction
                            setLogradouro(e.getLogradouro);
                            setBairro(e.getLogradouro);
                            setCidade(e.getCidade);	           
                           
	            return SUCCESS;
                           }
                      catch(Exception e){
                               return ERROR; 
                           }
	}

        /*-----Get/Set Omitidos--------*/

struts.xml

<package name="default" extends="struts-default">
        <action name="cep" >  
            <result name="input">formulario.jsp</result>
            <result name="error">erro.jsp</result>    
            <result>formulario.jsp</result>
        </action> 
 </package >

A minha maior dificuldade e passar o valor para o textfield pois o struts nao aceita passar valor atraves de parametro value desse campo EX:

<s:textfield label="Bairro" name="bairro" value="%{bairro}"/> <s:textfield label="Bairro" name="bairro" value="${param.bairro}"/>
tentei diversas formas mas não obtive sucesso.
Desde já agradeço a atenção e a ajuda,
Jeferson…

1 Resposta

M

Você conseguiu resolver o problema?

Estou tenho uma dificuldade igual a sua, preciso preencher o campos textfield e não consigo…

Criado 29 de outubro de 2008
Ultima resposta 17 de nov. de 2008
Respostas 1
Participantes 2