私はいくつかのラジオ、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オブジェクトを使用できないということです。何もない表現言語でオブジェクトにアクセスしようとすると問題になります。 私はこの状況について検索してきたと私は内容の多くが、私は私のために作品を見つけた解決策のどれを見つけましたが、私は興味深い答えが見つかりました:だから、それは
をつまり、Ajaxリクエストを使用して同じJSPファイルで新しいパラメータを取得できないということですか?もしそうなら、JSONファイルはSpringコントローラからのリターンを得る良い方法でしょうか?
はい、適切なViewResolver設定があります。 私はSpringコントローラからAjaxリクエストに任意の文字列を返すことを知っていますが、どのようにオブジェクトを返すことができますか?そこが肝心だ。 ModelAndViewをAjaxリクエストに戻そうとしましたが、動作しませんでした。 問題はちょうどAjaxリクエストにあります。新しいSubmitでModelAndViewにオブジェクトを追加すると、JSPファイル内の式言語でこのオブジェクトにアクセスできますが、Ajaxリクエストはありません。 –