• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JSP页面中文参数的传递(get和post方法分析)

    在项目中,我们经常遇到需要在JSP页面切换中传递中文字符。这主要有两种方式。

    ◆URL方式

    例如:

    http://website/test1.jsp?act=addtype=苹果param=%20D%20B

    ◆FORM方式

    例如:

    复制代码 代码如下:

    ﹤form name=test   mehtod="post"﹥  
    ﹤input type=hidden name=text2 value="中文"﹥  
    ﹤input type=text name=text1﹥  
    ﹤input type=submit value=submit﹥  
    ﹤/form﹥

    我们将针对这两种情况,分别提供中文正确传递的解决方法。

    JSP页面中文参数传递之情况1:URL方式

    例如:

    http://website/test1.jsp?act=addtype=苹果param=%20D%20B

    一般来说我们很少直接在URL里面把参数写成中文,如例子中的"type=苹果"这样传递。如果出现这种情况,在我们的接收参数的页面我们只需要做个简单的转换就可以了。

    JSP页面中文参数传递实现之代码test1.jsp:(主要部分)

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    ﹤%  
    String type = request.getParameter("type");  
    String result = new String(type.getBytes("iso-8859-1"), "gb2312");  
    out.println(result);     
    %﹥ 

    更普遍的做法,就是对URL中的中文字符进行编码,变成类似type=%20D%20B这样的字符。

    JSP页面中文参数传递实现之代码MyJsp1.jsp:

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    ﹤%@ page import="java.net.*" %﹥  
    ﹤a href='./MyJsp2.jsp?act=﹤%=URLEncoder.encode("中国人 非常好 =-")%﹥'﹥test﹤/a﹥

    JSP页面中文参数传递实现之代码MyJsp2.jsp

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    ﹤%@ page import="java.net.*" %﹥   
    String tempVal = URLDecoder.decode(request.getParameter("act"));  
    out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312")); 

    JSP页面中文参数传递之情况2:FORM方式

    请注意,我们只是讨论在﹤form enctype="application/x-www-form-urlencoded" ﹥这种形式的中文情况,因为在enctype="multipart/form-data"的时候通过解析出来中文也可以运用这种方法进行字符转化,所以不再重复讨论。

    ◆﹤form method=post﹥这种情况最简单。

    JSP页面中文参数传递实现之代码MyJsp1.jsp:

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    ﹤form action="./MyJsp2.jsp" method="post" enctype="application/x-www-form-urlencoded" ﹥  
    ﹤input type=hidden name=act value=动作 /﹥  
    ﹤input type=submit value=ok﹥  
    ﹤/form﹥ 

    JSP页面中文参数传递实现之代码MyJsp2.jsp:

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    request.setCharacterEncoding("gb2312");  
    out.println(request.getParameter("act"));  

    或者

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    String tempVal = request.getParameter("act");  
    out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312"));

    ◆﹤form method=get﹥情况。

    JSP页面中文参数传递实现之代码MyJsp1.jsp:

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    ﹤form action="./MyJsp2.jsp" method="get" enctype="application/x-www-form-urlencoded" ﹥  
    ﹤input type=hidden name=act value=动作 /﹥  
    ﹤input type=submit value=ok﹥  
    ﹤/form﹥ 

    JSP页面中文参数传递实现之代码MyJsp2.jsp:

    复制代码 代码如下:

    ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
    String tempVal = request.getParameter("act");  
    out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312"));

    以上就是关于JSP页面中文参数传递get和post方法分析,但是本文不讨论针对URL进行加密的操作,只是针对URL中文的基本编码处理。另外,在Javascript中可以运用escape(),encodeURI(),encodeURICompoent()进行相关的URL编码;可以作为JavaScript中文编码的参考解决方案。希望通过这样简单的对JSP页面中文参数传递get和post方法的分析对你的编程设计有帮助。

    您可能感兴趣的文章:
    • JSP、Servlet中get请求和post请求的区别总结
    • JSP之表单提交get和post的区别详解及实例
    上一篇:jsp要实现屏蔽退格键问题探讨
    下一篇:JSP获取服务器时间以倒计时的形式在页面显示
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    JSP页面中文参数的传递(get和post方法分析) JSP,页面,中文,参数,的,传递,