Resgate de dados de uma URL

14 respostas
denis_gariglio

Boa tarde pessoal, tudo em ordem ?

Pessoal. preciso resgatar valores enviados através de uma URL que é enviada por um outro sistem.
Estou pensando em criar um .do e nele usar um getParameter.
Alguem saberia ao certo como eu monto esse .do?
Ou tem alguma ideia melhor?
Valew Pessoal.

14 Respostas

kissdemon

Voce vai criar uma Action apenas para pegar esse parametro?? Um request.getParameter em uma servlet já resolveria seu problema nao?

denis_gariglio

Então, preciso também criar uma validação para receber os dados.
Porque, eu vo receber eles, verificar se autorizo o exame que sera requerido nele e enviar um XML informando se o exame foi liberado ou não.

F

Faz o .do, cria as variaveis exatamente como serão passadas no form.

Na action vc faz o resto …

:slight_smile:

kissdemon

Bom, a não ser que já esteja utilizando o Struts no seu sistema, você pode sim criar uma Action para fazer todo este trabalho. Fora isso, caso possa resolver com uma simples servlet, resolva…não vai ficar quebrando a cabeça com o Struts.

denis_gariglio

Eu estou usando o struts aqui mesmo.
Agora como eu uso o get para recuperar os dados dessa url?

Valews :smiley:

F

Então ..

Cria no seu FORM variaveis com os mesmos nomes e cria os getters and setters delas.

No action, vc tem que instaciar o FORM, e usa o getter deste form diretamente...
form:
public class Teste
{
   private String msg;
   public getMsg()
   {
   return msg;
   }
}

Action:
(action){
   Teste form = (Teste)actionForm;
   String texto = form.getMsg();
}

Msg foi passado no link como "&msg=blablabla".

E agora na variavel texto vc tem o "blablabla".

denis_gariglio

Vou implementar aqui, valew amigo :slight_smile:

denis_gariglio

Só uma duvida, antes do get preciso colocar String certo ?

private String nome;

public String getNome() {
    return nome;
}
F

Sim, a variavel deve existir para que o struts consiga pegar o valor e colocar nela automaticamente.

Sem ela, ele não terá onde colocar o valor.

O get serve simplesmente para receber esse valor.

denis_gariglio

ok, ja montei meu form e action.
Agora vou esperar me mandarem os dados para testar.
Só mais um pergunta, como meu sistema possui login de entrada, precisaria mandar ususario e senha na url para poder enviar os dados ou não?

F

não … não precisa…

basta invocar diretamente.

denis_gariglio

Ok … valew mesmo fera … abraço… :smiley:

denis_gariglio

Boa tarde pessoal, acho q agora eu enrosquei no strtus.
qdo tento acessar o endereço criado

http://localhost:7070/autorizanet/importacaoform.do

ele me retorna o seguinte erro:

HTTP Status 500 - No action instance for path /importacaoform could be created


type Status report

message No action instance for path /importacaoform could be created

description The server encountered an internal error (No action instance for path /importacaoform could be created) that prevented it from fulfilling this request.

meu form

/*

  • Created on 05/01/2007
  • TODO To change the template for this generated file go to
  • Window - Preferences - Java - Code Style - Code Templates
    */
    package br.com.agsi.autorizanet.struts.form;

/**

  • Bean-form importação de dados pcmso
  • @autor Denis Gariglio
    */

public class ImportacaoForm {

private String usuario;   

/**
 * @return Returns the usuario.
 */
public String getUsuario() {
    return usuario;
}
/**
 * @param usuario The usuario to set.
 */
public void setUsuario(String usuario) {
    this.usuario = usuario;
}

}

Action

/*

  • Created on 05/01/2007
  • TODO To change the template for this generated file go to
  • Window - Preferences - Java - Code Style - Code Templates
    */
    package br.com.agsi.autorizanet.struts.action;

import br.com.agsi.autorizanet.struts.form.ImportacaoForm;

/**

  • Bean-action importação de dados pcmso

  • @autor Denis Gariglio
    */
    public class ImportacaoAction {

    private ImportacaoForm actionForm;
    
    ImportacaoForm form = (ImportacaoForm) actionForm;
    
    String usuario = form.getUsuario();
    
    }
    

Agora o código usado no struts-config.xml

<action
        attribute="importacaoForm"
        name="importacaoForm"
        parameter="tela"
        path="/importacaoform"
        scope="request"
        type="br.com.agsi.autorizanet.struts.action.ImportacaoAction"
        validate="true" />

Faz poucos meses que comecei a trabalhar com java e é a primeira vez que uso Struts … valew pessoal … :smiley:

F

Teu struts tá configurado errado.

public ActionForward iniciar(ActionMapping actionMapping,ActionForm actionForm, 
    		HttpServletRequest request, HttpServletResponse response) 
 	
        try 
    	{
    	    iniciar(form, request);
    	    form.setListaUnidades(viagemCdlBO.buscaListaDeUnidadesCdlByUsuario(form.getUsuario().getId()));
    	}
		catch(ClientException e) 
		{
		    UtilityTLRodo.setActionError(request, e);
		}
		catch(BusinessException e) 
		{
		    UtilityTLRodo.setActionError(request, e.toClientException());
		}		
		return actionMapping.findForward("principal");
    }

Esse é um exemplo de action dentro da classe action ..

No meu struts config eu setei a opcao:
parameter="perform"

E no meu form eu inicializo a variavel perform = iniciar, assim se eu nao envia-la ele sempre executa a action iniciar.

No teu caso, vc setou como "TELA", cria uma Action no teu arquivo action e uma variavel no teu form chamada TELA e com valor igual ao nome da sua action.

Mais duvidas, dá uma lida no forum, que existem diversos post sobre struts e em varios deles tem links para apostilas.

[]´s

Criado 4 de janeiro de 2007
Ultima resposta 5 de jan. de 2007
Respostas 14
Participantes 3