1、问题
SpringMVC项目中通过下面的URL进行GET请求。当version有多个小数点的时候。如version为1.0.1008。后台通过@PathVariable来获取version等于1.0。会丢失部分数据。

URL:

http://host_ip/consumer/appVersion/phone/android/download/{version}

Controller:

@RequestMapping(value="android/download/{version}",method=RequestMethod.GET)
public void download(HttpSession session,HttpServletResponse response,@PathVariable("version")String version){ }

2、解决方案

在version段后增加一个静态的字符段,这个段没有任何意义,可以为任意字符。

URL:

http://host_ip/consumer/appVersion/phone/android/download/{version}/static_str

问题虽然解决了,但毕竟URL后多了个小尾巴,心情不愉悦。
再次谷哥。
参考:
http://stackoverflow.com/questions/3526523/spring-mvc-pathvariable-getting-truncated

URL不加小尾巴。

在@RequestMapping的value中使用SpEL来表示,value中的{version}换成{version:.+}。

@RequestMapping(value="android/download/{version:.+}",method=RequestMethod.GET)
public void download(HttpSession session,HttpServletResponse response,@PathVariable("version")String version){ }

终于可以再一次愉悦地进行玩耍了。

Spring MVC @PathVariable 特殊字符的更多相关文章

  1. Spring MVC @PathVariable被截断

    一.问题描述 一个控制器提供RESTful访问信息: @RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + &qu ...

  2. Spring MVC @PathVariable with dot (.) is getting truncated.

    转自:http://stackoverflow.com/questions/3526523/spring-mvc-pathvariable-getting-truncated (这里只截取了问题,和笔 ...

  3. Spring MVC @PathVariable注解

    下面用代码来演示@PathVariable传参方式 @RequestMapping("/user/{id}") public String test(@PathVariable(& ...

  4. Spring MVC @PathVariable注解(3)

    下面用代码来演示@PathVariable传参方式 1 @RequestMapping("/user/{id}") 2 public String test(@PathVariab ...

  5. spring mvc中的@PathVariable(转)

    鸣谢:http://jackyrong.iteye.com/blog/2059307 ------------------------------------------------ spring m ...

  6. spring mvc:练习 @RequestParam(参数绑定到控制器)和@PathVariable(参数绑定到url模板变量)

    spring mvc:练习 @RequestParam和@PathVariable @RequestParam: 注解将请求参数绑定到你的控制器方法参数 @PathVariable: 注释将一个方法参 ...

  7. spring mvc中的@PathVariable

    spring mvc中的@PathVariable是用来获得请求url中的动态参数的,十分方便,复习下: @Controller public class TestController { @Requ ...

  8. Spring MVC 学习总结(三)——请求处理方法Action详解

    Spring MVC中每个控制器中可以定义多个请求处理方法,我们把这种请求处理方法简称为Action,每个请求处理方法可以有多个不同的参数,以及一个多种类型的返回结果. 一.Action参数类型 如果 ...

  9. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)

    这一章大象将详细分析web层代码,以及使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能.     之前在使用Struts2实现MVC的注解时,是借助struts2-conventi ...

随机推荐

  1. C++的新特性for-each

    C++实验课要求用for each 循环来实现关联容器 map 的输出,一开始完全萌比.查了好久的资料才整理出下面的: C++11新特性之一就是类似java的for each循环: map<in ...

  2. Tomcat:javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStat异常

    问题: 在关闭tomcat时: Tomat报出一下异常:ERROR [com.alibaba.druid.stat.DruidDataSourceStatManager] – unregister m ...

  3. linux运维、架构之路-MySQL多实例

    一.MySQL多实例介绍            一台服务器上开启多个不同的服务端口(3306,3307,3308),运行多个MySQL服务进程,共用一套MySQL安装程序,多实例MySQL在逻辑上看是 ...

  4. linux通配符知识

    注意:linux通配符和三剑客(grep,awk,sed)正则表达式是不一样的,因此,代表的意义也是有较大区别的. 通配符一般用户命令行bash环境,而linux正则表达式用于grep,sed,awk ...

  5. Nodejs NPM CNPM优雅安装install

    由于npm和cnpm都能安装组件,安装的组件有的保存在c盘用户目录的Appdata隐藏目录下,有的保存在安装node的目录下,而且安装在c盘的话,重装系统又得重新部署,甚是麻烦,所以这里提供优雅安装的 ...

  6. configParser模块详谈

    前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser configPars ...

  7. python3 练习题100例 (十二)

    题目十二:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153 ...

  8. Compiler Error Message: CS0016: Could not write to output

    打开网页是报错: Server Error in '/' Application. Compilation Error Description: An error occurred during th ...

  9. linux下的source命令

    Linux Source命令及脚本的执行方式解析   当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile ...

  10. LightOJ 1141 Number Transformation

    Number Transformation In this problem, you are given an integer number s. You can transform any inte ...