Problemas com Spring + jQuery + ajaxForm

Olá GUJs.

Estou com problema em um ajaxForm, eu tenho uma JSP que tem um filtro no submit desse filtro preciso dar reload em uma tabela da minha JSP.
No momento não estou com o código em mãos mas é algo assim:

@RequestMapping("/doFilter.html")
public ModelAndView doFilter(@RequestParam("category") Integer category) {
  ModelAndView mv = new ModelAndView();
  Service service = new Service();

   mv.addObject("list", service.getList(category));
  return mv;
}

JSP:

<form id="form" action="/doFilter.html" >
 <select id="category" >
   <option value="1">1</option>
   <option value="2">2</option>
 </select>
 <a id="submit" href="javascript:void(0);" >Filtrar</a>
</form>
<table id="response">
   <tbody>
   </tbody>
</table>
<script>
  $('#submit').click(function(){
    $('#form').ajaxForm({
        complete: function(data){
           //pegar os dados da lista que vem do método iterar na tabela
        }
    });
    $('#form').submit();
  });
</script>

Está tudo funcionando o que eu não sei fazer é pegar a variável list e iterar dentro do complete do ajaxForm para que possa ser montado o tbody da tabela com as novas informações, tentei com JSON também mas não tive sucesso, se alguém souber uma maneira de fazer isso e puder me explicar fico grato.

alguém?

Qual é a view desse controller?

Você tem que criar uma nova página JSP contendo apenas o trecho do html em questão. E aí, essa parte do JQuery, você só “apenda” o que recebeu num componente html desejado.

Então, fazer isso criando uma nova JSP eu consigo mas não é bem o que eu quero, eu queria conseguir manipular isso no complete do ajaxForm sem ter que chamar outra JSP só com a tabela.

Entendeu +/-?

[quote=markin1]Então, fazer isso criando uma nova JSP eu consigo mas não é bem o que eu quero, eu queria conseguir manipular isso no complete do ajaxForm sem ter que chamar outra JSP só com a tabela.

Entendeu +/-?[/quote]

Não entendi. Por duas coisas:

  1. Qual o problema de usar JSP separado? Pelo menos, é a solução que eu sempre vejo quando se usa Ajax.

  2. o ajaxForm não chama uma JSP! Ele é uma função passiva que é, a grosso modo, chamada pelo browser quando se recebe uma requisição do servidor. O JSP com a tabela é processado no lado servidor, a função Javascript, no lado cliente. É por isso que são duas coisas separadas!

Respostas:

  1. Não tem problema algum, só queria tentar uma solução sem precisar criar outra JSP.

  2. eu sei que o ajaxform não chama uma JSP mas o response da minha Controller faria o redirect pra outra JSP que nesse caso seria uma JSP com outra tabela, mas pelo que tenho visto vou ter que usar a solução de uma outra JSP mesmo.