zoukankan      html  css  js  c++  java
  • 6.SpringMVC2

    1.视图解析

    当客户端发出请求后,交由SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中对该请求的最合理的映射,然后通过该HandlerMapping取得其对应的Handler
    接着再通过相应的HandlerAdapter处理该Handler,处理之后会返回一个ModelAndView对象
    Spring就会把该View渲染给用户,即返回给浏览器
    在这个渲染的过程中,发挥作用的就是ViewResolver和View

    ViewResolver和View是Spring处理视图的2个重要接口
    ViewResolver提供了视图名称和真实视图之间的映射
    View是真正进行视图渲染,把结果返回给浏览器的

    SpringMVC中的所有handler方法都需要解析某一个逻辑视图名称,比如String类型、View或者ModelAndView实例,而Spring提供了一组视图解析器来解析
    AbstractCachingViewResolver
    UrlBasedViewResolver
    InternalResourceViewResolver
    XmlViewResolver
    ResourceBundleViewResolver
    VelocityViewResolver / FreeMarkerViewResolver
    BeanNameViewResolver

    checkbox标签
    用法同radiobutton标签
    绑定数据时,有3种方式:
    绑定的值是boolean类型,值为true,则复选框被选中
    绑定的值的类型是array或者java.util.Collection,集合中有的值,对应的复选框被选中
    对于其它绑定的类型,绑定的值相等,则对应复选框被选中

    InternalResourceViewResolver
    它是URLBasedViewResolver的子类
    它定义了前缀、后缀,并和控制器返回的视图名称拼接在一起,并解析为视图对象
    它会将模型数据存放到对应的HttpServletRequest中,然后转发到相应的页面视图

     

    ResourceBundleViewResolver
    它是AbstractCachingViewResolver的子类
    它需要有一个配置文件来定义逻辑视图名称和真正View对象的对应关系
    默认情况下这个配置文件是在classpath根目录下的views.properties

    2.视图技术之JSP&JSTL

    Spring为JSP和JSTL这些view层技术提供了几个开箱即用的解决方案
    与在Spring中采用的任何其他视图技术一样,使用JSP需要一个视图解析器来解析你的视图,常用的是InternalResourceViewResolver和ResourceBundleViewResolver

    在此基础上,Srping提供了一组全面的用于处理表单元素进行数据绑定的标签,让JSP开发变得更加容易

    表单标签:

    Spring的表单标签,捆绑在spring-webmvc.jar中。这些标签库的描述符被称为spring-form.tld
    要使用该标签库,需要在JSP页面顶端配置:


    常见标签有:
    Form标签 input标签 radiobutton标签 checkbox标签
    Select标签 password标签 textarea标签 hidden标签
    Errors标签 HTML5标签

    form标签,将命令对象放置到PageContext中,默认名为“command”,并用其他子标签绑定属性值


    input标签

    password标签

    radiobutton标签
    方式1:


    方式2:


    方式3:

    select标签
    方式1:

    方式2:

     

    textarea标签


    hidden标签

     3.视图技术之文档视图

    输出Excel步骤:
    导入poi.jar包
    编写类,扩展AbstractExcelView,实现buildExcelDocument()方法
    在配置文件中
    <bean class=“org.springframework.web.servlet.view.BeanNameViewResolver”/>
    <bean id=“userExcel” class=“com.web.UserListExcelView”/>
    在controller中跳转指向userExcel类型
    return “userExcel”;

    输出PDF步骤:
    导入itext相关包
    编写PdfView类,继承自AbstractPdfView,并实现其抽象方法
    在springmvc-servlet.xml配置文件中配置该bean对象
    <bean id=“userPdf” class=“com.web.UserListPdfView”/>
    在controller中跳转指向pdfview类型
    return “userPdf”;

  • 相关阅读:
    cgal 的初步学习
    java 代理类
    java 静态内部类
    HDU-2063-过山车(最大匹配)
    HDU-1845-Jimmy's Assignment
    HDU-1528-Card Game Cheater(二分图匹配)
    HDU-1507-Uncle Tom's Inherited Land*
    HDU-1498-50years,50colors(最大匹配, 枚举)
    HDU-1281-棋盘游戏(最大匹配,枚举)
    HDU-1179-Ollivanders(二分图最大匹配)
  • 原文地址:https://www.cnblogs.com/Firesun/p/9923270.html
Copyright © 2011-2022 走看看