Usando ajax no struts 2

6 respostas
I

Bom dia pessoal,

Estou fazendo uma tela que possui um campo para filtragem. O usuario submete a busca e a mesma retorna uma lista abaixo com todos as ocorrência encontradas (estou usando like). Eu gostaria de usar ajax para renderizar somente essa div que recebe a lista, mas não estou sabendo como fazer. Andei vendo na net algo sobre o dojo, mas vejo muitos comentários dizendo que não é uma boa idéia. Existe uma forma simples de se fazer isso? Algum plugin do struts2?

Estou usando annotations mapeadas nas actions e gostaria de saber se da pra fazer assim com ajax.

exemplo:

digito um filtro na jsp e submeto
chamo a action mapeada via annotation, chamo o metodo que busca as ocorrencias na base de dados e retorno para a jsp.

Desde já agradeço.

6 Respostas

drsmachado

Sim.

I

Fala drsmachado, você poderia me dar uma ajuda?
O que eu poderia usar e como fazer?
Tem exemplos para me mostrar ou algum link com algo parecido com o que eu preciso?

drsmachado

Pretende mesmo usar o dojo toolkit?
Eu sugiro o struts2-jquery-plugin. Procure no google, baixe o jar e veja os exemplos no próprio site deles.

I

Olhei o site mas não estou sabendo fazer como fazer uma action que forneça um resultado para uma requisição ajax.
Nos exemplos que eu vi, praticamente só tem as jsps.
Alguém pode me dar uma idéia de como começar?

é possível fazer isso com apenas uma action que retorne um só a lista e qmaue renderize só a div q eu quero jogar a lista?
se sim como fazer na action? vejo exemplos muito diferentes na net e isso está me confundindo.

se alguém puder me ajudar agradeço.

drsmachado

Vamos começar pelo começo, o que você entende por ajax? Sabe como funciona, qual sua estrutura?
Pois bem, partindo disto, podemos dar continuidade ao que você quer fazer.

I

Sei o básico a respeito de ajax, sei que eu posso fazer requisições enviando somente alguns dados da minha página, fazer um processamento e retornar uma resposta renderizando só o pedaço da página que interessa ser alterado. Ai sei q uma das formas de se transportar esses dados do servidor para a camada de visão seria através de JSON.

Acho que o que está me confundindo bastante é que parece q existem N formas de se fazer e como eu não sou um profundo conhecer nem de ajax e nem do struts 2 eu não to sabendo como fazer.

Deixa eu te explicar mais ou menos o que estou tentando fazer.

tem uma tela de cadastro, até ai normal

um dos campos dela é um autocomplete (pensei em usar o autocomplete comum do jquery, eu já usei ele no struts 1 chamando uma servlet, mas na verdade gostaria de fazer da forma que o struts 2 se adapte melhor).

esse autocomplete é de um funcionário, ao clicar em um botão de buscar, ele me trás todos os dados desse funcionário (pensei em fazer essa lista sendo retornada via ajax dentro de uma div)

quando os dados dele vem, vem junto um campo com intervalo de datas para filtras a partir das avaliações agendadas para o mesmo (essa lista de objetos fica no final da tela e eu tb queria fazer via ajax)

além disso tem o botão submit que cadastra um novo agendamento de avaliacao (esse sim seria um submit comum)

Eu pensei em fazer em ajax pois a tela tem interações com o usuário que me parece que não vai ser viável fazer sem ser por ajax.

Ai eu pensei em uma action para o autocomplete, outra para o ajax que carrega os dados do funcionario, outra para o ajax que carrega os dados da lista de avaliacoes do mesmo e por fim outra para cadastrar a nova avaliacao.

Eu posso estar seguindo um caminho equivocado que pode estar me complicando, por isso aceito sugestões e idéias.
Conseguiu entender mais ou menos o que estou precisando fazer?

Criado 25 de setembro de 2012
Ultima resposta 27 de set. de 2012
Respostas 6
Participantes 2