Python 官方文档:入门教程 => 点击学习
目录1. 内置视图解析器2. 使用原生servlet的对象传递数据3. 使用ModelAndView对象传输数据4. 使用Model、Map、ModelMap传输数据5. 使用ses
spring mvc 中的视图解析器负责解析视图,可以通过在配置文件中定义一个ViewResolver来配置视图解析器,配置如下:
<!--默认的内置视图解析器-->
<bean id="viewResolver" class="org.springframework.WEB.servlet.view.InternalResourceViewResolver">
<!--设置前缀-->
<property name="prefix" value="/WEB-INF/templates"/>
<!--设置后缀-->
<property name="suffix" value=".html"/>
</bean>
定义了一个id为viewResolver的视图解析器,并设置了前缀后缀,这样设置的好处就是简化方法中定义的路径。在访问视图解析器是就会自动的增加前缀和后缀。
httpservletRequest:通过request对象获取请求信息
控制器方法:
//使用servlet传递数据
@RequestMapping("/testServlet")
public String testRequestByServletapi(HttpServletRequest request){
request.setAttribute("test","hello,servlet");
return "success";
}
当使用modelAndView对象的时候,返回值的类型也必须是ModelAndView,可以将要跳转的页面设置成view的名称,来完成跳转的功能,同时数据也是放到request域中。
使用方式:
控制器方法:
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){
//创建ModelAndView对象
ModelAndView mav = new ModelAndView();
//处理模型数据,即向请求域request共享数据
mav.addObject("test","Hello ModelAndView");
//设置视图名称
mav.setViewName("success");
return mav;
}
ModelAndView对象的作用:
将控制器方法中处理的结果数据传递到结果页面,也就是把在结果页面上需要的数据放到ModelAndView对象中即可,其作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。
在springMVC中除了可以使用原生servlet的对象传递数据之外,还有什么其他的方式呢?
可以在方法的参数上传入Model,ModelMap,Map类型,此时都能够将数据传送回页面。
控制器方法:
@RequestMapping("/testModel")
public String testModel(Model model){
model.addAttribute("test","Hello Model");
return "success";
}
@RequestMapping("/testMap")
public String testMap(Map<String,Object> map){
map.put("test","Hello Map");
return "success";
}
@RequestMapping("/testModelMap")
public String testModelMap(ModelMap modelMap){
modelMap.addAttribute("test","hello modelmap");
return "success";
}
如果方法的入参为Map,Model和ModelMap类型,Spring MVC会将隐含模型的引用传递给这些入参。在方法体内,开发者可以通过这个入参对象访问到模型中的所有数据,也可以向模型中添加新的属性数据,作用类似于request对象的setAttribute方法的作用: 用来在一个请求过程中传递处理的数据。
三者之间的关系:
HttpSession:通过session对象得到session中存储的对象
控制器方法
//向session域共享数据
@RequestMapping("/testSession")
public String testSession(HttpSession httpSession){
httpSession.setAttribute("testSessionScope","hello session");
return "success";
}
//向application域共享数据
@RequestMapping("/testApplication")
public String testApplication(HttpSession session){
ServletContext servletContext = session.getServletContext();
servletContext.setAttribute("testApplicationScope","hello application");
return "success";
}
到此这篇关于Spring MVC数据响应处理的文章就介绍到这了,更多相关Spring MVC响应处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Spring MVC数据响应处理详解
本文链接: https://www.lsjlt.com/news/149588.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0