SpringMVC通过模型视图ModelAndView渲染视图的实现

网友投稿 623 2023-03-05

SpringMVC通过模型视图ModelAndView渲染视图的实现

SpringMVC通过模型视图ModelAndView渲染视图的实现

SpringMVC通过模型视图ModelAndView渲染视图大致流程

代码样例

1.准备工作

A.因为文中用到jsp,所以需要引入jsp标准标签库standard.jar和jstl.jar

官方-:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

本地-:lib_jb51.rar

B.添加Tomcat依赖如下:

org.springframework.boot

spring-boot-starter-tomcat

provided

org.apache.tomcat.embed

tomcat-embed-jasper

provided

2.Web服务器发送请求

http://localhost:8080/user/details?id=12

@Controller

@Slf4j

@RequestMapping("/user")

public class UseFtZOXVXvUrController {

@Autowired

private UserService userService = null;

@RequestMapping("details")

public ModelAndView details(Long id){

User user = userService.getUser(id);

log.info("获取到的user对象-->"+user.toString());

ModelAndView mv = new ModelAndView();//新建一个模型和视图对象

mv.setViewName("user/details");//设置模型视图名称

mv.addObject("user",user);//加入数据模型

return mv;//返回视图和模型

}

}

A.根据请求路径/user/details通过HandlerMapper机制就能找到对应的控制器进行响应。返回一个HandlerExecutionChain对象,而HandlerExecutionChain对象中的handler(处理器)需要运行,需要处理器适配器HandlerAdapter接口定义的实现类。

B.在处理器调用控制器(controller)时,先通过模型层得到数据,再放入数据模型中,最后返回模型和视图对象。这里的模型视图名称为user/details,走到视图解析器(ViewResolver),解析视图逻辑名称。

spring.mvc.view.prefix=/WEB-INF/jsp/

spring.mvc.view.suffix=.jsp

C.为了定制InternalResourceViewResolver初始化,可以在配置文件application.properties(或yml文件)中进行配置,代码如上。

D.它会以前缀(prefix)和后缀(suffix)以及视图名称组成全路径定位视图。

此例组成的全路径为:/WEB-INF/jsp/user/details.jsp

jsp存放位置如上:

<%@ page pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ios app应用开发(iphone app开发)
下一篇:vue3 开发小程序(vue框架做小程序)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~