gpt4 book ai didi

java - Spring MVC Controller 的误解

转载 作者:行者123 更新时间:2023-11-30 11:06:30 25 4
gpt4 key购买 nike

来自 Controller 的代码:

@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.jsp的一部分:

<c:forEach items="${items}" var="item">
${item}
</c:forEach>

在浏览器中,我获取从 itemService.getItems() 返回的元素。
Spring 如何发现 model 映射包含要作为请求属性的值?

最佳答案

DispatcherServlet是否将所有Map类型的参数内容复制到请求属性中?

是的,Spring MVC 将所有参数从模型复制到 HttpServletRequest 对象。 Spring 人们选择不直接使用 HttpServeltRequest 的原因是因为他们希望尽可能独立于 View 技术,因此能够驱动不使用的 View 技术取决于 HttpServeltRequest

将模型公开为请求参数是 View 的一个方面,如果查看 SpringMVC 的源代码,您将找到合适的代码 InternalResourceViewAbstractView 延伸持有 exposeModelAsRequestAttributes方法

关于java - Spring MVC Controller 的误解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29294948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com