`
- 浏览:
43877 次
- 性别:
- 来自:
北京
-
Jsp页面中文参数传递get和post方法分析(有空好好看这个文章)
Jsp页面中文参数传递get和post方法分析
♦ 在jsp页面间传递参数
♦ asp.net页面之间...
♦ JSP页面怎么显示中文...
♦ 参数传递,极难
更多相关推荐...
[关键字: Jsp]
在项目中,我们经常遇到需要在jsp页面切换中传递中文字符。这主要有两种方式。
URL方式,例如:http://website/test1.jsp?act=add&type=苹果¶m=%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>
我们将针对这两种情况,分别提供中文正确传递的解决方法。
情况1:URL方式
例如:http://website/test1.jsp?act=add&type=苹果¶m=%20D%20B
一般来说我们很少直接在URL里面把参数写成中文,如例子中的"type=苹果"这样传递。如果出现这种情况,在我们的接收参数的页面我们只需要做个简单的转换就可以了。 代码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这样的字符。 代码MyJsp1.jsp:
<% @ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<% @ page import="java.net.*" %>
<a href='./MyJsp2.jsp?act=<%=URLEncoder.encode("中国人 非常好 =-")%>'>test</a>
代码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"));
情况2:FORM方式
请注意,我们只是讨论在<form enctype="application/x-www-form-urlencoded" >这种形式的中文情况,因为在enctype="multipart/form-data"的时候通过解析出来中文也可以运用这种方法进行字符转化,所以不再重复讨论。
<form method=post>这种情况最简单。 代码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>
代码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>情况。 代码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>
代码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"));
PS:
本文不讨论针对URL进行加密的操作,只是针对URL中文的基本编码处理。另外,在Javascript中可以运用escape(),encodeURI(),encodeURICompoent()进行相关的URL编码;可以作为Javascript中文编码的参考解决方案。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### 知识点详解:JSP页面中文参数传递GET与POST方法分析 #### 一、引言 在Java Web开发中,特别是在处理JSP页面时,中文参数的正确传递是常见的需求之一。不当的处理可能导致乱码问题,严重影响用户体验和数据的...
JSP 页面中文参数的传递(get 和 post 方法分析) JSP 页面中文参数的传递是非常有用的,在实际的编程中,我们常常遇到需要在 JSP 页面切换中传递中文字符。有两种方式可以实现中文参数的传递,即 URL 方式和 FORM ...
在JSP中,参数通常通过GET和POST方法在页面之间传递,但是直接在URL中包含中文字符会导致问题,因为HTTP协议本身是基于ASCII字符集设计的。因此,在涉及中文参数传递时,必须采取相应措施来确保字符能够正确传输和...
"JSP页面间传递参数实现的方法" JSP页面间传递参数是Web开发中的一项重要技术,以下是几种常见的JSP页面间传递参数实现的方法: 1. 直接在 URL 请求后添加参数 可以在 URL 请求后添加参数,如:<a href="thexuan....
然而,在处理中文参数时,尤其是通过GET和POST方法传递时,经常会出现乱码问题。这通常是由于字符编码不一致或者处理不当导致的。以下是对这一问题的详细解析: 首先,我们需要理解字符编码的基本概念。在Web中,...
总结,"超强过滤器"是解决JSP-Servlet之间中文参数GET-POST传递问题的有效手段,通过统一设定请求的字符编码,确保在整个Web应用中中文数据能够正确无误地传输和处理。对于大型项目,这样的全局解决方案可以大大提升...
JSP页面间参数传递是JSP应用中的一个重要环节,它能够帮助开发者在不同页面之间共享数据或状态信息。本文将详细介绍几种常见的JSP页面间参数传递方法及其应用场景。 #### 二、直接在URL请求后添加参数 这种方法是...
在多个页面传递jsp参数在多个页面传递jsp参数
### JSP页面从一个页面传递一个参数到另外一个页面的方法 #### 概述 在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,经常需要在不同的页面之间传递数据。这些数据可能包括用户的输入、表单提交...
摘要:本文将对 Java Web 中 Request 对象中 GET 和 POST 方法的差异进行分析和比较,通过代码示例和输出结果,展示 GET 和 POST 方法的不同之处,并分析其优缺点。 GET 方法和 POST 方法都是服务器的请求方式,...
在页面的url中使用encodeURI(encodeURI(中文)),对中文... 您可能感兴趣的文章:js将json格式的对象拼接成复杂的url参数方法js的form表单提交url传参数(包含+等特殊字符)的两种解决方法JS根据key值获取URL中的参数值及
这会将当前页面请求转发到`target.jsp`,并传递参数。 **使用`<jsp:include>`标签**: ```html <jsp:include page="target.jsp"> <jsp:param name="id" value="<%= id %>"/> </jsp:include> ``` 该标签可以在当前...
### Frame之间及子页面与父...通过上述介绍,我们可以看到在JSP页面中实现`frame`之间或子页面与父页面之间的参数传递有多种方法,每种方法都有其适用场景。在实际开发过程中,可以根据具体需求选择合适的技术方案。
在JavaServer Pages (JSP) 开发中,页面间的参数传递是常见的操作,尤其是在处理包含汉字的参数时,由于编码问题可能会导致乱码。本文主要介绍如何在JSP中正确地进行汉字参数的转码与解码,确保数据在页面间传递时...
### jsp中post和get传输方式的区别 在Web开发领域,特别是使用Java Server Pages (JSP) 进行网页开发时,GET与POST是两种最常见的HTTP请求方法。这两种方法各有其适用场景及特点,理解它们之间的区别对于提高网站的...
本篇文章将深入探讨如何在JSP页面上使用JavaScript的`opener`属性来传递和接收参数。 首先,我们要理解`opener`的概念。`window.opener`是一个特殊的属性,它引用了打开当前窗口的窗口对象。如果一个窗口是另一个...
`post.jsp`页面可以通过`request.getParameter("btn1")`和`request.getParameter("btn2")`获取到传递的值。 **注意点:** - POST方式虽然更安全,但也需要注意防止跨站脚本攻击(XSS)等安全问题。 - POST请求通常...
在JSP开发中,数据的传递是常见的操作,但当涉及不同页面间的变量传递时,可能会遇到乱码问题,这主要是由于字符编码不一致导致的。本文将详细介绍如何解决JSP页面间传递变量时出现的乱码问题。 首先,我们来看方案...
本文将深入探讨如何在JSP页面中获取Servlet请求中的参数,并将其传递到另一个JSP页面。 首先,我们需要配置`web.xml`文件,这是部署描述符,它定义了Servlet的映射和配置。以下是一个示例配置: ```xml ...