当前位置: 首页 > news >正文

西昌城乡建设网站四川政务服务网

西昌城乡建设网站,四川政务服务网,静态网站建设教程,40平米服装店装修效果图五、域对象共享数据0、三个域对象范围request#xff1a;一次请求 第1#xff5e;6都是向request共享session#xff1a;一次会话#xff08;浏览器开启到浏览器关闭#xff0c;与服务器关闭无关#xff0c;session有钝化和活化操作#xff0c;可以持久化数据#xff0…五、域对象共享数据0、三个域对象范围request一次请求 第16都是向request共享session一次会话浏览器开启到浏览器关闭与服务器关闭无关session有钝化和活化操作可以持久化数据servletContext整个应用的范围服务器开启到服务器关闭1、使用ServletAPI向request域对象共享数据RequestMapping(/testServletAPI) public String testServletAPI(HttpServletRequest request){request.setAttribute(testScope, hello,servletAPI);return success; }request域内数据获取方式p th:text${testRequestScope}/p2、使用ModelAndView向request域对象共享数据这个很重要因为从源码中看不过你用的1-6哪一种方式最终都是封装到modelAndView里面去RequestMapping(/testModelAndView) public ModelAndView testModelAndView(){/*** ModelAndView有Model和View的功能* Model主要用于向请求域共享数据* View主要用于设置视图实现页面跳转*/ModelAndView mav new ModelAndView();//向请求域共享数据mav.addObject(testScope, hello,ModelAndView);//设置视图实现页面跳转mav.setViewName(success);return mav; }3、使用Model向request域对象共享数据RequestMapping(/testModel) public String testModel(Model model){model.addAttribute(testScope, hello,Model);return success; }4、使用map向request域对象共享数据RequestMapping(/testMap) public String testMap(MapString, Object map){map.put(testScope, hello,Map);return success; }5、使用ModelMap向request域对象共享数据RequestMapping(/testModelMap) public String testModelMap(ModelMap modelMap){modelMap.addAttribute(testScope, hello,ModelMap);return success; }6、Model、ModelMap、Map的关系Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的继承关系如下图![iShot_2023-03-08_14.55.26](/Users/lannisite/Library/Mobile Documents/com~apple~CloudDocs/Typora笔记/typroa_picture/iShot_2023-03-08_14.55.26.png)public interface Model{} public class ModelMap extends LinkedHashMapString, Object {} public class ExtendedModelMap extends ModelMap implements Model {} public class BindingAwareModelMap extends ExtendedModelMap {}7、控制器方法统一返回ModelAndView对象通过打断点的方式运行调试界面会有一个方法栈里面的方法直接或间接的调用了我们打断点的那一行代码在里面找到DispatcherServlet1061行mv ha.handle(processedRequest, response, mappedHandler.getHandler());8、向session域共享数据此处建议使用原生ServletAPI虽然SpringMVC提供了注解SessionAttribute,这个注解可以将共享在请求域的数据再共享一份到session中RequestMapping(/testSession) public String testSession(HttpSession session){session.setAttribute(testSessionScope, hello,session);return success; }获取session中数据 p th:text${session.testSessionScope}/p9、向application域共享数据RequestMapping(/testApplication) public String testApplication(HttpSession session){ServletContext application session.getServletContext();application.setAttribute(testApplicationScope, hello,application);return success; }获取servletContext中数据信息 p th:text${application.testApplicationScope}/p六、SpringMVC的视图SpringMVC中的视图是View接口视图的作用渲染数据将模型Model中的数据展示给用户SpringMVC视图的种类很多默认有转发视图和重定向视图当工程引入jstl的依赖转发视图会自动转换为JstlView若使用的视图技术为Thymeleaf在SpringMVC的配置文件中配置了Thymeleaf的视图解析器由此视图解析器解析之后所得到的是ThymeleafView1、ThymeleafView当控制器方法中所设置的视图名称没有任何前缀时此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析视图名称拼接视图前缀和视图后缀所得到的最终路径会通过转发的方式实现跳转RequestMapping(/testHello) public String testHello(){return hello; }2、转发视图SpringMVC中默认的转发视图是InternalResourceViewSpringMVC中创建转发视图的情况当控制器方法中所设置的视图名称以forward:为前缀时创建InternalResourceView视图此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析而是会将前缀forward:去掉剩余部分作为最终路径通过转发的方式实现跳转例如forward:/forward:/employeeRequestMapping(/testForward) public String testForward(){return forward:/testHello; }![image-20210706201316593](/Users/lannisite/Library/Mobile Documents/com~apple~CloudDocs/Typora笔记/spring学习笔记/Spring5/img/img003.png)3、重定向视图SpringMVC中默认的重定向视图是RedirectView转发和重定向区别转发可以获取请求域的数据但是重定向不可以因为不是一次请求转发可以访问WEB-INF下面的资源但是重定向不可以获取因为安全性问题转发不能跨域但是重定向可以跨域当控制器方法中所设置的视图名称以redirect:为前缀时创建RedirectView视图此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析而是会将前缀redirect:去掉剩余部分作为最终路径通过重定向的方式实现跳转例如redirect:/redirect:/employeeRequestMapping(/testRedirect) public String testRedirect(){return redirect:/testHello; }![image-20210706201602267](/Users/lannisite/Library/Mobile Documents/com~apple~CloudDocs/Typora笔记/spring学习笔记/Spring5/img/img004.png)注重定向视图在解析时会先将redirect:前缀去掉然后会判断剩余部分是否以/开头若是则会自动拼接上下文路径4、视图控制器view-controller当控制器方法中仅仅用来实现页面跳转即只需要设置视图名称时可以将处理器方法使用view-controller标签进行表示!--path设置处理的请求地址view-name设置请求地址所对应的视图名称 -- mvc:view-controller path/ view-nameindex/mvc:view-controllermvc:annotation-driven/注当SpringMVC中设置任何一个view-controller时其他控制器中的请求映射将全部失效此时需要在SpringMVC的核心配置文件中设置开启mvc注解驱动的标签mvc:annotation-driven /
http://www.hkea.cn/news/14300270/

相关文章:

  • 学网站制作电商网站设计案例
  • 网站注册页面跳出怎么做wordpress没有水印
  • 怎么看一个网站是否是外包做的重庆正云环保工程有限公司网页制作
  • 西安汇友网站建设室内设计家装设计
  • c 做网站用什么框架电商网站建设精英
  • 高端网站建设 引擎技网络宝安网站设计网站建设哪家快
  • 哪里的网站建设wordpress企业模板中文版
  • 分类信息网站建设多少钱在线培训系统平台
  • 概念产品设计网站网站ip pv
  • 宁波做网站的公司哪家好自助提交网站
  • 意大利之家设计网站找网站开发公司需要注意那几点
  • 做seo网站营销推广树莓派怎么打开 wordpress
  • 常州市建设局网站资质网站建设的类型有几种
  • 手机网站 jquery 特效龙华做网站怎么样
  • 如何让商家建设网站企业模板wordpress
  • 新产品开发流程和步骤怎么关键词优化网站
  • 石家庄网站优化公司wordpress歌曲
  • 网站关键词没有指数唐山网站优化
  • 动易网站 价格怎么开平台
  • 全球最好的黄页网站上海网站建设公司 红威
  • 深圳网站建设深圳wordpress前台配色
  • 德阳市建设局网站地址合肥网站开发建设
  • 网站开发过程的需求分析自己开通一个网站需要多少钱
  • 深圳网站制作公司方案官网下载安装
  • 网站后台编辑器内容不显示wordpress 社交按钮
  • 网站开发工具书网站策划专员所需知识
  • 做企业网站用什么程序站长之家查询工具
  • seo查询 站长工具手机网站怎样做
  • 智能网站搭建注册个公司大概多少钱
  • 培训美工设计师青岛谁优化网站做的好