EXTjs - Algúem já teve de retornar success:true?

13 respostas
A

Senhores, boa tarde,
já tiveram de retornar success:true usando Java para o EXTjs? Como abaixo:

{"success":true,"data":{"result":"olá mundo"}}

Qualquer dica será muitíssimo bem-vinda.

:smiley:
Abraço,
André AS

13 Respostas

yorgan

Opa,
Veja se isso ajuda:
http://k2studio.com.br/site/2010/05/integracao-ext-js-com-vraptor3/

[]'s
Daniel

A

Oi Daniel, como vai? Obrigado pela ajuda, o post é de excelente qualidade.

Você me ajudar com o seguinte código?

Estou usando EXTjs com Struts2:
public String nomeDoMetodo(){

    //Dificuldade aqui -> Sei que tenho de retornar String jsonStr = "{\"success\":true,\"data\":{\"result\":\"" + " andre "+ "\"}}"; mas como? Via HttpServletResponse dentro da classe? Via result type="json" do struts.xml?

     return SUCCESS;
}
A

Estou tentando usar o failureType mas também sem sucesso:

success: function (form, action) { Ext.Msg.show({ title:'Upload de Foto - SGCS', msg: 'Upload finalizado com sucesso', buttons: Ext.Msg.OK, fn: redireciona, icon: Ext.MessageBox.OK }); form.getForm().reset(); }, failure: function(form, action) { switch (action.failureType) { case Ext.form.Action.SERVER_INVALID: alert('Upload de Foto - SGCS', 'Erro! Arquivo no formato invalido ou tamanho ultrapassa 2 MB (Mega Bytes)'); break; } form.getForm().reset(); } });

Caroline_Alow

perguntei pro meu chefinho ele disse q usando success e o failure da forma como vc está usando deveria funcionar… ele perguntou se vc tá usando o firebugui…

boa sorte

D

Passa via HttpServletResponse.

A

?

D

Seu método do servlet tem parâmetros, certo? Um deles é um HttpServletRequest, outro é um HttpServletResponse. Para saber o que veio você usa HttpServletRequest. Para enviar algo, você usa o HttpServletResponse.

A

Uso Struts2 meu método é o execute() não tem parâmetros. Como fazer?

A

up

bombbr

andredecotia:

//Dificuldade aqui -> Sei que tenho de retornar String jsonStr = “{“success”:true,“data”:{“result”:”" + " andre “+ “”}}”; mas como? Via HttpServletResponse dentro da classe? Via result type=“json” do struts.xml?
return SUCCESS;
}[/code]

Isto, configure o result de sua action para retornar JSON (type=“json” no struts.xml).
Desta forma você poderá enviar qualquer objeto java serializado no formato JSON.

Procure no Google por “struts 2 json plugin”.

A

Comentaram esta forma mesmo é que eu não tinha entendido 100% mas vou pesquisar hoje de novo… Amanhã testo e comento se houve sucesso. Muito obrigado pela dica.

A

Pode me ajudar em relação à como isso ficaria no struts.xml veja:

<package name="example" extends="json-default"> <action name="JSONExample" class="example.JSONExample"> <result type="json"/> </action> </package>

Dá pau, crio este novo pacote…

Referência: https://cwiki.apache.org/confluence/display/WW/JSON%20Plugin

bombbr

andredecotia:
Pode me ajudar em relação à como isso ficaria no struts.xml veja:

<struts>
  <package name="exemplo" extends="struts-default, json-default" namespace="/exemplo">

        <action name="teste" method="teste" class="TesteAction">
            <result name="success" type="json">
                <param name="root">
                    retornoJSON
                </param>
            </result>
        </action>

  </package>
</struts>
public class TesteAction extends ActionSupport {

	private Map retornoJSON;

    public String teste() {

        retornoJSON = new HashMap();

        try {
            
			retornoJSON.put("objetoQualquer", new ObjetoQualquer());
			retornoJSON.put("lista", new ArrayList());
            retornoJSON.put("success", Boolean.TRUE);

        } catch (Exception e) {

            retornoJSON.put("msg", "Erro: " + e.getMessage());
            retornoJSON.put("success", Boolean.FALSE);
        }
        return SUCCESS;
    }

	public Map getRetornoJSON() {
        return mapaRetorno;
    }

    public void setRetornoJSON(Map retornoJSON) {
        this.retornoJSON = retornoJSON;
    }
}



O retorno JSON deve ser algo como

{"success":true,"lista":[], "objetoQualquer": {}}
Criado 10 de janeiro de 2011
Ultima resposta 12 de jan. de 2011
Respostas 13
Participantes 5