zoukankan      html  css  js  c++  java
  • javeWeb springMvc获取到的参数附带特殊符号,接收后被转义

    javeWeb springMvc获取到的参数附带特殊符号,接收后被转义

    https://blog.csdn.net/yejingxuan01/article/details/78802340

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yejingxuan01/article/details/78802340
    WEB开发时,在前端通过get / post 方法传递参数的时候  如果实参附带特殊符号,后端接收到的值中特殊符号就会被转义

    例如该请求: http://localhost:10001/demo/index.do?name=张三(1)

    注:中文()不会出现此种情况

          

    后台就收到的实际 name 值为:   张三(1)

    (其实为html中  (  符号的十进制编码

    )其实为html中  )  符号的十进制编码

    方法1:

    检查web.xml里是否配置了过滤特殊字符的filter,若不需要可以关掉此filter

    方法2:

    java中可以使用 org.apache.commons.lang3  包中的  StringEscapeUtils.unescapeHtml4(String str)

    方法来进行解码。

    方法3:

    在controerl接收的参数前加上@RequestBody注解,具体可百度@RequestBody的用法,

    此方法局限性比较大

    例如 :

    @RequestMapping(value = "/index.do")
    @ResponseBody
    public String addQbzl(HttpSession session, @RequestBody String name) {

    }

    前端则需要 声明dataType 和 contentType,传递的参数并用JSON.stringify()转为json字符串

    $.ajax({
                        url: CONTEXTPATH + "/index.do",
                        type: 'POST',
                        dataType: 'JSON',
                        contentType : 'application/json',
                        data: JSON.stringify(Data),
                        success: function (data) {

    }

    })

    ---------------------
    作者:叶菁烜
    来源:CSDN
    原文:https://blog.csdn.net/yejingxuan01/article/details/78802340
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    进程与线程的区别与联系
    IPC 进程间通信
    sql中的group by 和 having 用法
    大端小端格式
    Spring AOP的一个比喻和IOC的作用
    volatile变量
    策略模式
    划分算法与快速排序
    希尔排序及希尔排序java代码
    红黑树
  • 原文地址:https://www.cnblogs.com/handsome1013/p/10071119.html
Copyright © 2011-2022 走看看