1.日期格式转换

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

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

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

2.中文乱码问题

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

 <!-- 配置过滤器,解决编码乱码问题 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

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

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

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

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

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

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

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

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

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")

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

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"

SpringMVC一些功能的更多相关文章

  1. Spring Boot2.0+中,自定义配置类扩展springMVC的功能

    在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configur ...

  2. SpringMVC学习--功能完善

    简介 在基本的项目中,无非就是基本的增删改查,前面我们已经实现了一个简单的查询功能,现在来实现增删改功能,来了解实际开发中的运用,以修改功能为例,因为修改功能基本覆盖了增加和删除的运用. 前面我们实现 ...

  3. springMVC @ModelAttribute功能

    @ModelAttribute功能:将数据模型回写到页面 如: public String validate(@Valid @ModelAttribute("user") User ...

  4. springMVC的功能和优点

    spring MVC是一个分层的java web开发框架,MVC模式提供了一个分层的体系结构,其中每一层对其它层进行了抽象,具体如下: 1.模型(Model):应用程序所使用的特定域信息的表现形式 2 ...

  5. springMVC下载功能

    前台页面 <a href="download">下载</a> 后台代码 /** * 文件下载 * @param request * @return * @t ...

  6. SpringMVC修改功能

    articleList.jsp <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" ...

  7. springMVC+Java验证码完善注册功能

    这篇文章简单的写了一个java验证码,为之前写过的springMVC注册功能加上验证码,验证码的作用就不多说了,防止机器人程序恶意注册什么的.. 其中User.java,加上了password和cod ...

  8. SpringMVC学习记录3

    这次的主题 最近一直在学习SpringMVC..(这句话我已经至少写了3,4遍了....).这次的研究主要是RequestMappingHandlerAdapter中的各种ArgumentsResol ...

  9. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...

随机推荐

  1. 【题解】Weird journey Codeforces 788B 欧拉路

    传送门:http://codeforces.com/contest/788/problem/B 好题!好题! 首先图不连通的时候肯定答案是0,我们下面讨论图联通的情况 首先考虑,如果我们每条边都经过两 ...

  2. template.js的使用心得

    template.js是一款JavaScript模板引擎,用来渲染页面的. 原理:提前将Html代码放进编写模板 <script id="tpl" type="te ...

  3. [freemarker篇]02.生成HTML的静态页面

    昨天完成了一部分的今天在上次的基础上,完成完成生成HTML静态页面的操作,中间会涉及一点标签的简单使用.今天的代码有一丢丢的对付的感觉!抱歉了,直接就上代码吧!求原谅! 项目结构目录如下: 第一步,新 ...

  4. 查看自己电脑外网IP

    连着wifi,在CMD窗口中显示的无线局域网适配器IP很有可能是内网IP.此时可以通过下面方法查看自己的电脑外网IP. 1.前提条件可以上外网: 2.上外网百度,输入IP,进行搜索. 3.查看结果即可 ...

  5. ZooKeeper Java例子(六)

    A Simple Watch Client 为了向你介绍ZooKeeper Java API,我们开发了一个非常简单的监视器客户端.ZooKeeper客户端监视一个ZooKeeper节点的改变并且通过 ...

  6. 【设计模式】 模式PK:策略模式VS状态模式

    1.概述 行为类设计模式中,状态模式和策略模式是亲兄弟,两者非常相似,我们先看看两者的通用类图,把两者放在一起比较一下. 策略模式(左)和状态模式(右)的通用类图. 两个类图非常相似,都是通过Cont ...

  7. PHP系统编程--03.PHP进程信号处理

    PHP的pcntl扩展提供了信号处理的功能,利用它可以让PHP来接管信号的处理,在开发服务器端守护进程方面,信号处理至关重要. 函数原型 bool pcntl_signal(int $signo ,c ...

  8. [cerc2012][Gym100624D]20181013

    题意:一个序列,如果存在一个连续子序列,满足该子序列中没有只存在一次的序列,则原序列为boring,否则non-boring 题解: 分治递归 对一个序列,如果找到了一个只出现一次的数位于a[x],则 ...

  9. 【BZOJ3998】弦论 [SAM]

    弦论 Time Limit: 10 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description 对于一个给定长度为N的字符串,求它的第 ...

  10. hdu 1241Oil Deposits(BFS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 Oil Deposits Time Limit: 2000/1000 MS (Java/Othe ...