0
点赞
收藏
分享

微信扫一扫

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​​ 中去。


举报

相关推荐

0 条评论