javaweb 解决jsp中${}传递中文值到后端以及get请求中文乱码的问题

 

首先,不要用get传中文,我试了一些方法发现不行,所以果断决定用post传参,

这里用 encodeURI 进行一次编码传入后端

注意:${tplname} 要加 '

        $.ajax({
            url: '/RM/controller/json/ConfigTemplateCustomController/fetchTemplateCustomContentsByTplName/tplname/post',
            type: 'POST',
            async: false,
            data:{
              'tplname':encodeURI('${tplname}')
            },
            success:

 

这样解码后再 getBytes 就解决了

    @RequestMapping(value = "controller/json/ConfigTemplateCustomController/fetchTemplateCustomContentsByTplName/tplname/post", method = RequestMethod.POST)
    @ResponseBody
    public BaseResult fetchTemplateCustomContentsByTplName(String tplname) throws UnsupportedEncodingException {
        tplname = URLDecoder.decode(tplname,"utf-8");
        tplname =  new String(tplname.getBytes("ISO-8859-1"),"UTF-8");
        return ResultUtil.success().add("TemplateCustom", configTemplateCustomService.selectByPrimaryKey(tplname));
    }

 

posted @ 2018-11-19 16:19  由良大小姐  阅读(1215)  评论(0编辑  收藏  举报