`
lengchaotian
  • 浏览: 281144 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java GET方式传递中文参数乱码问题

    博客分类:
  • java
阅读更多

java  GET方式传递中文参数乱码需要用到 java.net.URLDecoder和 java.net.URLEncoder这两个类里面的decode("变量","UTF-8")和encode("中文","UFP-8"),这两个方法前一个是解码后一个是转码。注意:转码时要转两次,解码需要一次就能够解决中文参数乱码问题。URL传递参数时服务器会自动解码一次,然后我们拿到参数后再解码一次,所以转码要转两次。

 

java后台代码:

传递中文参数代码
    @RequestMapping("/clearActive")
    public ModelAndView deleteActive(HttpServletRequest request, PageInfo page, ActiveAlarmInfo actives)
    {
        try
        {
            //从request范围内获取告警类型和告警原因,如果获取的属性不为空则进行转码并放到类对象中
            String alarmType = URLEncoder.encode(URLEncoder.encode("告警类型", "UTF-8"), "UTF-8");
            actives.setAlarmType(alarmType);
         
            String probableCause = URLEncoder.encode(URLEncoder.encode("告警原因", "UTF-8"), "UTF-8");
            actives.setProbableCause(probableCause);
       
            //从request范围内获取activeID,并根据activeID获取ActiveAlarmInfo信息
            String activeID = request.getParameter("activeID");
            ActiveAlarmInfo active = activeService.getOneActiveByActiveID(activeID);
           
            if (null != active)
            {
                //给notificationType赋值
                active.setNotificationType("ClearedAlarm");
               
                //调用delete方法
                activeService.deleteActiveByActiveID(activeID, active);
            }
            else
            {
                request.setAttribute("result", Global.FAIL);
            }
        }
        catch (Exception e)
        {
            logger.error(Global.LOG_EXCEPTION_NAME, e);
        }
        String url =
            "/active/getAllActiveInfo?alarmType=" + actives.getAlarmType()
                + "&perceivedSeverity=" + actives.getPerceivedSeverity() + "&probableCause=" + actives.getProbableCause();
 
        return new ModelAndView(new RedirectView(request.getContextPath() + url));
    }
 
 接收中文参数代码
 @RequestMapping("/getAllActiveInfo")
    public ModelAndView getAllActiveInfo(HttpServletRequest request, HttpServletResponse response,
        ActiveAlarmInfo active, PageInfo page)
    {
        try
        {
            //从request范围内获取告警类型和告警原因,如果获取的属性不为空则进行转码并放到类对象中
            if (null != request.getParameter("alarmType") && !"".equals(request.getParameter("alarmType")))
            {
                String alarmType = URLDecoder.decode(request.getParameter("alarmType"), "UTF-8");
                active.setAlarmType(alarmType);
            }
            if (null != request.getParameter("probableCause") && !"".equals(request.getParameter("probableCause")))
            {
                String probableCause = URLDecoder.decode(request.getParameter("probableCause"), "UTF-8");
                active.setProbableCause(probableCause);
            }
           
            //获取所有告警配置信息和基站信息
            List<AlarmInfoConfig> alarmList = forService.getAlarmInfo();
            List<HnbInfo> hnbList = hnbService.getHnbList();
           
            //C权限的用户可以获取所有的活跃告警信息,B权限的用户可以获取告警级别严重的所有告警,A权限用户只能获取网管断链的告警
            List<ActiveAlarmInfo> activeList = null;
            if (null != roleBank && null != active)
            {
                activeList = activeService.getAllActiveInfo(active, page);
            }
           
            //把对象放到request范围内
            request.setAttribute("hnbList", hnbList);
            request.setAttribute("alarmList", alarmList);
            request.setAttribute("activeList", activeList);
            request.setAttribute("active", active);
            request.setAttribute("page", page);
        }
        catch (Exception e)
        {
            logger.error(Global.LOG_EXCEPTION_NAME);
        }
        return new ModelAndView("warning/active_List");
    }

 

分享到:
评论

相关推荐

    Java Http请求传json数据乱码问题的解决

    在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...

    get方式传参中文乱码问题的解决方案

    在Web开发中,经常遇到GET请求传递中文参数时出现乱码的问题。这种现象通常出现在不同编码格式之间的转换过程中,导致浏览器或者服务器端解析参数时出现问题。本文将深入探讨GET方式传参中文乱码的原因,并提供多种...

    java中文乱码解决问题

    JAVA 中文乱码解决问题 JAVA 中文乱码问题是开发过程中常见的问题之一,解决这个问题需要了解乱码产生的原因,然后对症下药。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。 1. 以 POST 方法提交的...

    JSP-GET-POST传递的乱码问题

    然而,在处理中文参数时,尤其是通过GET和POST方法传递时,经常会出现乱码问题。这通常是由于字符编码不一致或者处理不当导致的。以下是对这一问题的详细解析: 首先,我们需要理解字符编码的基本概念。在Web中,...

    get请求乱码问题 java

    在IT领域,尤其是在Java开发中,GET请求的乱码问题是开发者经常会遇到的一个难题。这个问题主要源于字符编码的不一致,特别是在处理中文或者其他非英文字符时更为显著。下面将详细解析GET请求乱码的原因、解决方案...

    GET方法URL中传递中文参数乱码的解决方法

    然而,当我们在GET请求的URL中直接传递包含中文字符的参数时,可能会遇到乱码问题。这是因为不同系统、浏览器和服务器对字符编码的支持不一致,导致在传输过程中中文字符无法正确解析。以下是对这个问题的深入探讨和...

    JAVA POST与GET数据传递时中文乱码问题解决方法

    以下是一些解决Java POST与GET数据传递时中文乱码问题的方法。 1. **POST数据传递**: 在接收POST数据的JSP页面中,我们需要确保两个关键点: - **声明页面字符集**:`&lt;%@ page pageEncoding="UTF-8"%&gt;` 这行...

    FORM表单中文乱码问题分析与解决

    FORM表单中文乱码问题分析与解决 在 Web 开发中,中文乱码问题是一个常见的问题,尤其是在FORM表单传递参数时。...使用正确的编码方式和解码方式可以解决中文乱码问题,从而确保FORM表单中的中文参数传递正确。

    java web开发解决乱码问题

    ##### 3.4 JSP页面中参数传递的乱码问题 - **解决方法**:在JSP页面中,可以通过设置请求的字符集编码来解决乱码问题:`("GBK"); %&gt;` ##### 3.5 其他特殊场景下的乱码问题 - **在表单头部设置编码**:可以在表单...

    动态加载iframe时get请求传递中文参数乱码解决方法

    然而,当我们在`iframe`的`src`属性中通过`GET`请求传递包含中文参数时,可能会遇到乱码问题。这是因为浏览器在处理URL时,默认的编码方式可能不兼容中文字符,导致中文字符无法正确解析。 首先,我们需要理解这个...

    过滤器实现get请求乱码问题

    在Java Web开发中,我们经常会遇到GET请求参数乱码的问题,尤其是在处理包含中文字符的URL时。这个问题可以通过使用Servlet Filter来解决。过滤器(Filter)是Java Servlet API的一部分,允许我们在请求到达目标...

    java 用HttpsURLConnection进行传递中文时错误总结

    然而,当传输包含中文字符的数据时,由于字符编码的不一致,可能会导致乱码问题。 错误通常出现在两个主要环节:请求头的设置和数据的编码/解码。以下是一些常见问题及其解决方案: 1. **请求头的Content-Type设置...

    JSP中文乱码问题解决办法

    JSP 中文乱码问题解决办法 JSP 页面中中文乱码问题是指在 JSP 页面中使用中文时,页面显示...解决 JSP 中文乱码问题需要从多方面入手,包括设置页面的字符编码、使用 POST 方式提交表单、使用 GET 方式提交表单等。

    java传值中的乱码

    在Java Web开发中,经常会遇到一个令人头疼的问题:客户端向服务器传递数据时出现乱码。这种情况不仅会影响用户体验,还可能导致程序逻辑错误。本文将深入探讨Java传值中的乱码问题,并提供一种简单有效的解决方案。...

    Java编程中中文乱码问题的研究及解决方案

    Java编程中中文乱码问题是一个常见的困扰开发者的问题,尤其是在Java Web开发环境中。Java语言本身使用Unicode编码,这是一种全球化的标准,确保了各种字符集的兼容性。然而,Unicode编码在与其他系统交互时,如...

    java乱码自己解决的办法

    在Java开发过程中,字符编码问题常常困扰着开发者,尤其是在处理中文等多字节字符时,乱码问题尤为突出。本文将深入探讨Java乱码的根源,并提供一系列实用的解决方案,帮助开发者有效应对这一挑战。 ### Java乱码...

    Jsp页面在URL中传递参数会出现乱码问题解决

    在Web开发中,尤其是使用Java JSP技术时,我们可能会遇到URL中传递参数出现乱码的问题。这是因为不同的字符集编码方式可能导致字符在传输过程中无法正确解析。本文将详细介绍两种解决JSP页面URL参数乱码的方法,虽然...

    解决tomcat中文乱码问题

    在Java Web开发中,尤其是在使用Apache Tomcat服务器时,中文乱码问题是开发者常遇到的难题之一。本文将详细解析如何在Tomcat环境中解决中文乱码问题,确保中文字符的正确显示与处理。 #### 一、网页编码设置 首先...

    jsp传值中文乱码问题解决方法示例介绍.docx

    在开发Web应用时,尤其是使用Java的JSP技术,开发者经常会遇到中文乱码的问题。这是因为字符编码不一致导致的,特别是在处理用户输入或从数据库获取数据时。本篇将详细介绍如何解决JSP传值过程中出现的中文乱码问题...

    java配置过滤器,解决乱码

    在Java Web开发中,乱码问题常常困扰着开发者。标题提到的"java配置过滤器,解决乱码",实质上是通过使用Servlet过滤器(Filter)来处理HTTP请求和响应中的编码问题,确保数据在传输过程中不出现乱码。下面我们将...

Global site tag (gtag.js) - Google Analytics