【问题标题】:Can I get a POJO in an Ajax Request to a Spring Controller?我可以在对 Spring 控制器的 Ajax 请求中获取 POJO 吗?
【发布时间】:2017-02-07 22:32:04
【问题描述】:

我有一个简单的 JSP 文件,其中包含一些收音机、一个文本输入和一个按钮。 在 onClick 按钮中,我正在向 Spring 控制器发出 Ajax 请求,如下所示:

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

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

在 Spring 控制器中,我使用以下代码成功接收到此请求:

@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";
    }
}

正如您在上面的代码中看到的,我在 ModelAndView 中添加了一个 POJO 对象,我试图在 JSP 中使用它来在表中显示 Ajax 请求的返回。 我的 Ajax 请求也成功返回,但问题是即使成功返回我也无法使用 POJO 对象,当我尝试通过表达式语言访问该对象时,我什么也没得到。 我一直在搜索这种情况,发现了很多内容,但是我找到的解决方案都没有对我有用,但我找到了一个有趣的答案:

JSP inside ListItems onclick

那么,这是否意味着我无法通过 Ajax 请求在同一个 JSP 文件中获取新参数?如果是,那么 JSON 文件是否是从 Spring 控制器获取返回的更好方法?

【问题讨论】:

    标签: java ajax spring jsp


    【解决方案1】:

    您无法访问模型,因为您从控制器返回任意字符串,而不是要访问模型的视图。

    如果您尝试从some.jsp 访问vacine,那么您应该从控制器方法中返回some

    当然,如果您有正确的ViewResolver 配置,我所说的就是有效的。

    【讨论】:

    • 是的,我有正确的 ViewResolver 配置。我知道我正在从 Spring 控制器向 Ajax 请求返回一个任意字符串,但我怎样才能返回该对象?这就是我想说的。我尝试将 ModelAndView 返回到 Ajax 请求,但它没有用。我的问题只是在 Ajax 请求中,如果我在新提交的 ModelAndView 中添加一个对象,我可以在 JSP 文件中使用表达式语言很好地访问这个对象,但是使用 Ajax 请求没有。
    猜你喜欢
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    相关资源
    最近更新 更多