Spring控制器信息

时间:2014-10-18 18:20:58

标签: spring spring-mvc java-ee servlets controller

@Controller的这两个方法是一样的吗?它们有什么不同? 这是一个带有表单的Spring mvc示例。第一种方法是否将一个对象添加到模型中?谢谢

@Controller
public class HomeController{

@RequestMapping(method = RequestMethod.GET)
public Member form() { 
  return new Member();
}


@RequestMapping(method = RequestMethod.GET)
public void form() { 
 model.addAttribute(new Member());

}
}

1 个答案:

答案 0 :(得分:1)

您的代码不会编译,但如果您将其更改为例如:

@RequestMapping(method = RequestMethod.GET)
public ModelAndView form(ModelAndView model) { 
model.addObject("member", new Member());
model.setViewName("view");
return model

}

它会尝试返回view.html(这取决于你如何配置ViewResolver),而成员对象将在名称" member"

下可用

用于Freemarker等模板库 - 因此您可以将其中的内容打印给用户。

第一种方法可用于REST api,因此您可以将成员返回给调用HomeController的任何人。