zoukankan      html  css  js  c++  java
  • SpringMVC一些功能

    1.日期格式转换

      当页面提交日期格式时 默认的格式为2017/10/1

      如果指定日期格式为2017-10-1 

    1 //初始化绑定日期格式--不定义初始化格式时只能默认用yyyy/MM/dd格式
    2     @InitBinder
    3     public void InitBinder (ServletRequestDataBinder binder){
    4         binder.registerCustomEditor(
    5             java.util.Date.class, 
    6             new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));
    7     }

    2.中文乱码问题

      一站式的中文乱码解决,通过 过滤器实现 需要在web.xml中配置过滤器即可

     1 <!-- 配置过滤器,解决编码乱码问题 -->
     2 <filter>
     3     <filter-name>encodingFilter</filter-name>
     4     <filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class>
     5     <init-param>
     6         <param-name>encoding</param-name>
     7         <param-value>utf-8</param-value>
     8     </init-param>
     9 </filter>
    10 <filter-mapping>
    11     <filter-name>encodingFilter</filter-name>
    12     <url-pattern>/*</url-pattern>
    13 </filter-mapping>

    3.同名提交框问题(复选框提交表单name值是一致)

      在SpringMVC中如果遇到同名提交框,介绍参数为字符串时,则会自动的拼接中间中","号隔开.

     1 //选中复选框最后将取得以逗号隔开的字符串
     2 //类似:篮球,足球,台球
     3 @RequestMapping("addUser.action")
     4 public String addUser(User user,String hobby,Model model){
     5     
     6     model.addAttribute("hobby", user.getHobby());
     7     
     8     return "result";  //返回要显示的页面名称,在视图解析器中需要拼接路径
     9     
    10 }

      如果String[]接收,则会自动的拼接为数组

    1 //最终得到复选框是个数组形式显示
    2 @RequestMapping("addUser.action")
    3 public String addUser(User user,String[] hobby,Model model){
    4     
    5     model.addAttribute("hobby", Arrays.toString( user.getHobby()));
    6     
    7     return "result";  //返回要显示的页面名称,在视图解析器中需要拼接路径
    8     
    9 }

    4.提交参数与接收参数不一致的问题

      当请求参数与Controller中接收的参数不一致时,可以用@RequestParam注解解决

     1 /**
     2  * @RequestParam(value|defaultValue|rquired)
     3  * value="页面属性值" --> 请求时的参数 如:hobby
     4  * defaultValue=""--> 默认值,若参数没有值时可以给个默认值
     5  * rquired="true|false" --> true:参数必须有值,否则报错;   
     6  */
     7 @RequestMapping("addUser.action")
     8 public String addUser(User user,@RequestParam(value="hobby",defaultValue="默认值")String[] hobbys,Model model){
     9     15     model.addAttribute("hobby", Arrays.toString( hobbys));
    16     
    17     return "result";  //返回要显示的页面名称,在视图解析器中需要拼接路径
    18     
    19 }

    5.RESTFul结构

      RESTFul结构是一种参数的格式

      get提交方式:

      Url:localhost:XXXX/addUser.action?name=tom&age=18

      RESTFul提交方式:

      Url:localhost:XXXX/addUser/tom/18.action

      传值时值传递具体的值,多个值中间用"/"分割;

      后台接收参数的方式:@RequestMapping("RestFul/{name}/{age}.action")

    1 @RequestMapping("RestFul/{name}/{age}.action")
    2 public String RestFul(@PathVariable String name,@PathVariable int age,Model model){
    3     
    4     model.addAttribute("msg","测试RestFul结构接收参数的方式..."+name+"--"+age);
    5     return "result";  //返回要显示的页面名称,在视图解析器中需要拼接路径
    6     
    7 }

    6.SpringMVC中的重定向和转发

      重定向:redirect

      特点:

        1.浏览器的地址栏 发生变化

        2.多次请求---多次响应

        3.不能通过重定向 传递参数.

       redirect:/toFile.action

     

    //若匹配到redirect关键字时会以后面的字符串拼接到地址了作为地址
    return "redirect:/toFile.action"

      转发:forward

      特点:

        1.浏览器的地址不发生变化

        2.一次请求一次响应

        3.可以携带参数进行转发

            forward:/toFile.action

     

          由于WEB-INF/下的页面浏览器不能直接访问,所以需要通过转发或重定向toFile.action进行访问.

     

    //匹配到forward关键字时以转发的形式进行跳转并携带相应的参数
    return "forward:/toFile.action"

     

  • 相关阅读:
    动态规划
    Python第二天学习
    Python第一天学习---基础语法
    java易错知识点
    C语言---指针复习
    排序汇总
    课程设计---创建族谱管理系统
    Vue第五篇 Vue的生命周期
    Vue第四篇 Vue路由系统
    Vue第三篇 Vue组件
  • 原文地址:https://www.cnblogs.com/tongxuping/p/7091365.html
Copyright © 2011-2022 走看看