Java springmvc控制器
来自控制器的代码:Java springmvc控制器,java,spring-mvc,controller,Java,Spring Mvc,Controller,来自控制器的代码: @Controller public class HomeController { @Autowired private ItemService itemService; @RequestMapping("/home") public String showHomePage(Map<String, Object> model) { model.put("items", itemService.getItems
@Controller
public class HomeController {
@Autowired
private ItemService itemService;
@RequestMapping("/home")
public String showHomePage(Map<String, Object> model) {
model.put("items", itemService.getItems());
return "home";
}
}
@控制器
公共类家庭控制器{
@自动连线
私人项目服务项目服务;
@请求映射(“/home”)
公共字符串显示主页(地图模型){
model.put(“items”,itemService.getItems());
返回“家”;
}
}
以及通讯员home.jsp的一部分:
<c:forEach items="${items}" var="item">
${item}
</c:forEach>
${item}
在浏览器中,我获取从itemService.getItems()返回的元素。
Spring如何发现
model
map包含作为请求属性的值?DispatcherServlet是否将map类型的所有参数的内容复制到请求属性
是的,SpringMVC将所有参数从模型复制到HttpServletRequest对象。Spring人员之所以选择不直接使用HttpServeltRequest,是因为他们希望尽可能独立于视图技术,因此能够驱动不依赖HttpServeltRequest的视图技术
将模型作为请求参数公开是视图的一个方面,如果您查看SpringMVC的源代码,您将找到合适的代码,SpringMVC的源代码扩展了保存方法的Spring DispatcherServlet。它还可以确定应该调用哪个控制器以及该控制器上的哪个方法。但是DispatcherServlet如何确定应该将映射中的值复制到请求属性?我的意思是模型是一个简单的参数。。。DispatcherServlet是否将类型映射的所有参数的内容复制到请求属性?文档中说是^^