我可以在Spring Controller的Ajax请求中获得POJO吗?

时间:2017-02-07 22:32:04

标签: java ajax spring jsp

我有一个带有一些无线电的简单JSP文件,一个文本输入和一个按钮。 在onClick按钮中,我正在向Spring控制器发出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";
    }
}

在Spring控制器中,我通过以下代码成功收到了此请求:

db.eurovision.find({},{2008:1})

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

JSP inside ListItems onclick

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

1 个答案:

答案 0 :(得分:2)

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

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

当然,如果你有适当的ViewResolver配置,我说的是有效的。