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. rem自适应js代码

    以后懒得写,直接复制了 var computedFz = (function(){ var designWidth = 375, rem2px = 100; function computedFz() ...

  2. 选择排序Selection sort

    顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来, 顺序放入新数组,直到全部拿完 再简单点,对着一群数组说,你们谁最小出列,站到最后边 然后继续对剩余的无序数组说 ...

  3. Flume入门——Selector、Chanel等

    1.selector (http://blog.csdn.net/looklook5/article/details/40430965) (http://blog.csdn.net/xiao_jun_ ...

  4. OScached页面缓存知识总结一

    OSCache页面缓存 什么是OSCache? OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能.OSCache ...

  5. jsp04状态管理

    1.http 协议的无状态性 无状态是指,当浏览器发送请求给服务器的时候,服务器会响应.但当同一个浏览器再次发送请求时,服务器不会知道是刚才那个浏览器. 简单说,服务器[不会保存用户状态],不会记得客 ...

  6. Python遍历文件夹和读写文件的方法

    需 求 分 析 1.读取指定目录下的所有文件2.读取指定文件,输出文件内容3.创建一个文件并保存到指定目录 实 现 过 程 Python写代码简洁高效,实现以上功能仅用了40行左右的代码~ 昨天用Ja ...

  7. Git 常见工作流

    多种多样的工作流使得在项目中实施Git时变得难以选择.这份教程提供了一个出发点,调查企业团队最常见的Git工作流. 阅读的时候,请记住工作流应该是一种规范而不是金科玉律.我们希望向你展示所有工作流,让 ...

  8. 洛谷P2868 [USACO07DEC]观光奶牛 Sightseeing Cows

    题目描述 Farmer John has decided to reward his cows for their hard work by taking them on a tour of the ...

  9. 【51NOD-5】1293 球与切换器

    [算法]DP [题解]f[i][j][0]表示在i,j位置往下走的球数,f[i][j][1]表示在i,j位置往右走的球数,经过i,j的球若为-1则(num+1)/2往下,其余往右.+1类似. 转移见代 ...

  10. mysql 索引最左原则原理

    索引本质是一棵B+Tree,联合索引(col1, col2,col3)也是. 其非叶子节点存储的是第一个关键字的索引,而叶节点存储的则是三个关键字col1.col2.col3三个关键字的数据,且按照c ...