传递给映射方法的所有参数是否可用于webapp的视图

时间:2016-06-07 10:03:00

标签: java spring jsp spring-mvc

我想知道传统java spring webapp的JSP(视图)有哪些不同的东西。

对于ex,我在我的控制器中有这个方法

@RequestMapping(value="/index", method=RequestMethod.GET)
public String index(@ModelAttribute Person person,Map<String, Object> map, Car c) {
person.setName("Aman");
c.setNumber("12345");
map.put("person", person);
map.put("car",c);
return "index";
}

现在,当我使用此

在我的JSP页面中访问它们时
<SELECT>
<option selected="selected"></option>
<option value="${person.name}">${person.name}</option>
<option value="${car.number}">${car.number}</option>
</SELECT>

JSP可以使用人员和汽车。

但在这样的情况下

 @RequestMapping(value="/index", method=RequestMethod.GET)
    public String index() {
    ModelMap m = new ModelMap();
    Person person = new Person();
    person.setName("Aman");
    map.put("person", person);
    return "index";
    }

在这种情况下,该人员无法访问该视图。那么Web应用程序视图可用的不同值是什么

1 个答案:

答案 0 :(得分:1)

这是因为如果要让Person可用于视图,则不会在上一个代码中将Person绑定到Spring模型。您可以尝试以下;)

@RequestMapping(value="/index", method=RequestMethod.GET)
public ModelAndView index() {
    ModelAndView mav= new ModelAndView("index");
    Person person = new Person();
    person.setName("Aman");
    mav.addObject("person", person);
    return mav;
}