2017-02-07 8 views
0

私はいくつかのラジオ、1つのテキスト入力と1つのボタンを持つ単純なJSPファイルを持っています。Spring ControllerへのAjaxリクエストでPOJOを取得できますか?

function callFiltrarViaAJAX() { 
 
\t \t \t var filtro = $("#filtro").val(); 
 
\t \t \t var optFiltro = $('input[name=optFiltro]:checked').val(); 
 

 
\t \t \t $.ajax({ 
 
\t \t \t \t type : "GET", 
 
\t \t \t \t url : "filtrar", 
 
\t \t \t \t //dataType : "json", 
 
\t \t \t \t data : { 
 
\t \t \t \t \t filtro : filtro, 
 
\t \t \t \t \t optFiltro : optFiltro 
 
\t \t \t \t }, 
 
\t \t \t \t success: function(data) { 
 
\t     console.log("SUCCESS: ", data); 
 
\t    }, 
 
\t    error: function(e) { 
 
\t     console.log("ERROR: ", e); 
 
\t    }, 
 
\t    done: function(e) { 
 
\t     console.log("DONE"); 
 
\t    } 
 
\t \t \t }); 
 
\t \t }

を私は次のコードで成功を収めて、この要求を受けています春のコントローラでは:あなたが怒鳴る見ることができるようにボタンで はonClickの私は、春のコントローラにAjaxリクエストをしています:あなたは上記のコードで見ることができるように

@Controller 
public class FiltroController { 
    @RequestMapping(value = "/filtrar", method = RequestMethod.GET) 
    public @ResponseBody String filtrarVacina(FiltroTO filtro, HttpServletResponse response, ModelAndView model) {  
     VacinaTO v = new VacinaTO(); 
     v.setId(new Long(10)); 
     v.setLote("Lote 1"); 
     v.setNome("BCG");  

     model.addObject("vacina", v); 

     response.setStatus(200); 
     return "TEST OK"; 
    } 
} 

、私はI'amはTAでAjaxリクエストのリターンを示すために、JSPで使用しようとしているのModelAndViewでPOJOオブジェクトを追加していますble。 私のAjaxリクエストも成功して返しますが、問題は成功して戻ってもPOJOオブジェクトを使用できないということです。何もない表現言語でオブジェクトにアクセスしようとすると問題になります。 私はこの状況について検索してきたと私は内容の多くが、私は私のために作品を見つけた解決策のどれを​​見つけましたが、私は興味深い答えが見つかりました:だから、それは

JSP inside ListItems onclick

をつまり、Ajaxリクエストを使用して同じJSPファイルで新しいパラメータを取得できないということですか?もしそうなら、JSONファイルはSpringコントローラからのリターンを得る良い方法でしょうか?

答えて

2

モデルにアクセスするビューではなく、コントローラから任意の文字列を返すため、モデルにアクセスできません。

vacinesome.jspからアクセスする場合は、コントローラメソッドからsomeを返す必要があります。

私が言ったことは、適切なViewResolver構成があれば有効です。

+0

はい、適切なViewResolver設定があります。 私はSpringコントローラからAjaxリクエストに任意の文字列を返すことを知っていますが、どのようにオブジェクトを返すことができますか?そこが肝心だ。 ModelAndViewをAjaxリクエストに戻そうとしましたが、動作しませんでした。 問題はちょうどAjaxリクエストにあります。新しいSubmitでModelAndViewにオブジェクトを追加すると、JSPファイル内の式言語でこのオブジェクトにアクセスできますが、Ajaxリクエストはありません。 –

関連する問題