SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案
来源:互联网 发布:阿里java工资水平 编辑:程序博客网 时间:2024/05/21 07:12
转自:http://www.tuicool.com/articles/Zf2iyem
@RequestMapping(value = "/tags/**")public String tags(HttpServletRequest request) { // ISO-8859-1 ==> UTF-8 进行编码转换 String tagname = extractPathFromPattern(request); tagname = ToolUtils.encodeStr(tagname); // 其余处理略}// 把指定URL后的字符串全部截断当成参数// 这么做是为了防止URL中包含中文或者特殊字符(/等)时,匹配不了的问题private static String extractPathFromPattern( final HttpServletRequest request){ String path = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE); return new AntPathMatcher().extractPathWithinPattern(bestMatchPattern, path);}
搞完之后,不管你输入什么样的URL,都能进入到指定的方法!
<a href="/tags/标签充A">标签充A</a>
<a href="/tags/标签充A/asd/asd">标签充A</a>
<a href="/tags/标签充A/BB/cc.html">标签充A</a>
@RequestMapping("test/**")
public void test(HttpServletRequest request,HttpServletResponse response) {
String tagname = extractPathFromPattern(request);
System.out.println(tagname);
// this.outPrint(response, this.getOutputMsg());
}
// 把指定URL后的字符串全部截断当成参数
// 这么做是为了防止URL中包含中文或者特殊字符(/等)时,匹配不了的问题
private static String extractPathFromPattern(
final HttpServletRequest request)
{
String path = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
return new AntPathMatcher().extractPathWithinPattern(bestMatchPattern, path);
}
- SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案
- SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案
- js方法传递包含反斜杠\的参数时,会把\过滤掉
- SpringMVC控制器接收不了PUT提交的参数的解决方案
- struts2 中用redirect时 参数的传递
- springmvc参数的传递
- springmvc参数的传递
- 正反斜杠的匹配
- springMVC参数的传递方式
- SpringMvc(2)--参数的传递
- springMVC参数的传递方式
- springMVC获取传递的参数
- springMVC参数的传递方式
- springMVC参数的传递方式
- SpringMVC的传递参数方式
- findContours函数报错:“将一个无效参数传递给了将无效参数视为严重错误的函数”解决方案之一
- URL中传递参数时包含中文的问题
- ajax传递的参数值包含单引号
- ubuntu14.04下载blender
- 中国科学院朱清时:量子意识(人人能懂版)
- 业务知识(2)立案与受理的区别&&裁定书和判决书的区别
- 如何正确使用html基本标签
- 蓝鸥Unity开发基础——静态类
- SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案
- ColorDrawable.setAlph在5.0一下机子失效
- android 中的颜色设置
- android 7.0对开发者会有哪些影响
- 从零开始使用tensorflow(2)——词向量
- 选择排序
- awk截取字段
- 腾讯笔试 蛇形矩阵
- C# 关于线程锁lock的使用方法