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

网站建设xywlcn潍坊网站建设建站

网站建设xywlcn,潍坊网站建设建站,小程序定制开发app,如何建设一个视频小网站自定义视图完成步骤#xff1a; ● 7.2.1自定义视图完成步骤 1. 自定义视图**:** 创建一个 View 的 bean, 该 bean 需要继承自 AbstractView, 并实现 renderMergedOutputModel 方法**.** 2. 并把自定义 View 加入到 IOC 容器中 3. 自定义视图的视图处理器#xff0c;使用…自定义视图完成步骤 ● 7.2.1自定义视图完成步骤 1. 自定义视图**:** 创建一个 View 的 bean, 该 bean 需要继承自 AbstractView, 并实现 renderMergedOutputModel 方法**.** 2. 并把自定义 View 加入到 IOC 容器中 3. 自定义视图的视图处理器使用 BeanNameViewResolver** 这个视图处理器也需要配置** 到 ioc 容器 4. BeanNameViewResolver 的调用优先级需要设置一下设置 order 比 Integer.MAX_VAL 小的值**.** 以确保其在 InternalResourceViewResolver 之前被调用 /*** 老师解读* 1. MyView继承了AbstractView, 就可以作为一个视图使用* 2. Component(value myView),该视图会注入到容器中, 名字/id是 myView*/Component(value hspView)public class MyView extends AbstractView {Overrideprotected void renderMergedOutputModel(MapString, Object model,HttpServletRequest request,HttpServletResponse response) throws Exception {​//完成视图渲染//并且可以确定我们要跳转的页面 [请求转发] /WEB-INF/pages/my_view.jspSystem.out.println(进入到自己的视图..);​//老师解读//1. 下面就是进行请求转发到 /WEB-INF/pages/my_view.jsp//2. /WEB-INF/pages/my_view.jsp 会被springmvc解析//   /springmvc/WEB-INF/pages/my_view.jsprequest.getRequestDispatcher(/WEB-INF/pages/my_view.jsp).forward(request, response);​}} !--老师解读1. 配置自定义视图解析器BeanNameViewResolver2. BeanNameViewResolver可以去解析我们自定义的视图3. 配置 属性 order, 表示视图解析器执行的顺序, 值越小, 优先级越高4. 属性 order 的默认值是最低优先级 值为 Integer.MAX_VALUEint LOWEST_PRECEDENCE 2147483647--bean classorg.springframework.web.servlet.view.BeanNameViewResolverproperty nameorder value99//bean 使用 RequestMapping(value /buy)public String buy() {System.out.println(------buy()-----);return hspView;//填写自定义视图id} 源码剖析 视图解析过程 1.先到DispatcherServlet中央控制器, 根据视图解析的 优先级 执行对应的 视图解析器 Nullableprotected View resolveViewName(String viewName, Nullable MapString, Object model,Locale locale, HttpServletRequest request) throws Exception {​if (this.viewResolvers ! null) {for (ViewResolver viewResolver : this.viewResolvers) {//viewResolvers存放了两个视图解析器(1)InternalResourceViewResolver默认视图解析器   (2)BeanNameViewResolver自定义视图解析器View view viewResolver.resolveViewName(viewName, locale);if (view ! null) {//如果返回的视图为空,那么会继续遍历所有的视图解析器;//注意:如果 默认视图解析器 优先级在前,那么不管怎样,它都不会再执行 自定义视图解析器 //原因:默认视图解析器 一定会返回视图因为它是通过传入的视图名build一个视图return view;}}}return null;} 2.若默认视图解析器在前,那么用 视图解析器 解析 Overrideprotected AbstractUrlBasedView buildView(String viewName) throws Exception {InternalResourceView view (InternalResourceView) super.buildView(viewName);//根据viewName创建视图if (this.alwaysInclude ! null) {view.setAlwaysInclude(this.alwaysInclude);}view.setPreventDispatchLoop(true);return view;} 注意:如果 默认视图解析器 优先级在前,那么不管怎样,它都不会再执行 自定义视图解析器 因为:默认视图解析器 一定会返回视图因为它是通过传入的视图名build一个视图 3.若自定义视图解析器在前 public View resolveViewName(String viewName, Locale locale) throws BeansException {ApplicationContext context obtainApplicationContext();//context实质上就类似于ioc容器if (!context.containsBean(viewName)) {//判断context(ioc)中是否有id为viewName的bean// Allow for ViewResolver chaining...return null;}if (!context.isTypeMatch(viewName, View.class)) {//判断context(ioc)中是否有id为viewName并实现View接口的beanif (logger.isDebugEnabled()) {logger.debug(Found bean named viewName but it does not implement View);}// Since were looking into the general ApplicationContext here,// lets accept this as a non-match and allow for chaining as well...return null;}return context.getBean(viewName, View.class);} 1.拿到context对象,实质上类似于ioc容器 2.//判断context(ioc)中是否有id为viewName的bean, 没有就返回null; 有就接着往下走 3.//判断context(ioc)中是否有id为viewName并实现View接口的bean 有就返回该视图 ,如果不存在传入的viewName对应的自定义视图,那么就返回null,接着走其他视图解析器 视图渲染和响应 1. 拿到view对象后, SpringMVC 调用自定义视图的 renderMergedOutputModel 方法渲染视图
http://www.pierceye.com/news/572991/

相关文章:

  • 成都金牛网站建设公司高端网站配色
  • 做喜报的网站设计师的工作内容
  • 济南网站建设工作wordpress 资讯
  • 网站调用数据库平台公司名单
  • 移动网站怎么做成都设计公司名字
  • 杭州最好的网站设计公司服务器域名解析
  • 做试用网站的原理塘沽网吧开门了吗
  • 网站域名的作用古典网站源码
  • 做直播网站软件有哪些软件涿州网站建设有限公司
  • 易托管建站工具wordpress多个single
  • 建一个电影网站多大 数据库半厘米wordpress
  • 住房和建设厅网站首页网站源码怎么写
  • 宁波新亚建设公司网站简单网站建设
  • 做网站没赚到钱网站后台地址忘记了
  • 备案网站公共查询安阳县
  • wordpress 超级管理员seo优化网络公司
  • 商务推广网站宝塔做网站
  • 我想建一个网站怎么建python做的大型网站
  • 为网站设计手机版wordpress怎样比较安全
  • 网站优化方式重庆建设网站哪家专业
  • php做网站基本流程旅游网站论文
  • 网站前期准备网页制作需要学多久
  • 广园路建设公司网站建app网站要多少钱
  • 网站域名是什么东西wordpress农历插件
  • 专业网站建设公司首选公司wordpress fruitful
  • 微博wap版登录入口seo 网站标题长度
  • 网站面包屑导航设计即位置导航局域网安装wordpress
  • 泰安网站建设xtempire国家开放大学网站界面设计
  • 绘制网站结构图建站公司售后服务
  • 漂亮的博客网站模板装修公司网站开发