Spring MVC 中 Model 的值设置到哪去了?

在 Spring MVC 中 Model 用的还是挺多的,配合一些模版技术传值也很方便,那么 Model 到底将值存到哪去了呢?比如可以看这个方法:org.springframework.web.servlet.view.InternalResourceView#renderMergedOutputModel

@Override
	protected void renderMergedOutputModel(
			Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {

		// Expose the model object as request attributes.
		exposeModelAsRequestAttributes(model, request);

	...
  ...
	}
	protected void exposeModelAsRequestAttributes(Map<String, Object> model,
			HttpServletRequest request) throws Exception {

		model.forEach((name, value) -> {
			if (value != null) {
				request.setAttribute(name, value);
			}
			else {
				request.removeAttribute(name);
			}
		});
	}

可以看到本质就是将 Model 中设置的属性设置到 Request 中去。

发布了406 篇原创文章 · 获赞 127 · 访问量 81万+

猜你喜欢

转载自blog.csdn.net/Dongguabai/article/details/100031186
今日推荐