JSP 页面于页面传递中文
1.编码问题:
(1)首先确定JSP页面头部是否有:<%@ page contentType="text/html; charset=GBK" %>
(2)类似这样的转码:
String param= new String(request.getParameter("param").getBytes("ISO-8859-1"), "GBK");
(3)添加filter字符过滤器,具体做法:
先添加类:
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import org.apache.log4j.Logger;
import java.net.URLEncoder;
/** *//**
* 请求中中文字符串过滤类
*/
public class SetEncodingFilter
implements Filter ...{
private Logger logger=Logger.getLogger(this.getClass());
public void init(FilterConfig filterConfig) throws ServletException ...{
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException ...{
logger.info("请求转码过滤器===================");
request.setCharacterEncoding("gb2312");
chain.doFilter(request,response);
}
public void destroy() ...{
}
}
再注册类到XML里:
<filter>
<filter-name>Set Encoding</filter-name>
<filter-class>SetEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(4)如果是通过"a.jsp?param=中文"传递参数,则需要:
a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
取值用java.net.URLDncoder.dncode(param);再转回中文
b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" <!--在里边加上这个参数-->URIEncoding="gb2312"
/>
(5)数据库乱码,首先确定你在插入数据库之前是中文,解决办法:
在数据库的数据库连接URL中加上useUnicode=true&characterEncoding=GBK就OK了。
如果在读取的时候出现乱码用第二种方法解决.
http://blog.csdn.net/lip009/archive/2006/09/07/1192022.aspx#521755
要servlet里面支持中文的方法:
在dopost或者doget的第一句加上:
request.setCharacterEncoding("GB2312");
response.setCharacterEncoding("GB2312");
在jsp里面就把
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
里设置成charset=gb2312
如果这样还不行,就只有在取出中文后(getParameter)强制转换了:String str=new String(request.getParameter("text").getBytes("ISO-8859-1"),"GB2312");
很不错的方法,因为在java里面,乱码是个大问题,这些一定要铭记!
http://www.java-cn.com/technology/tech/4361.html
【jicken_woo】:
csdn里搜索一下。.太多了。.
【brooksychen】:
Address=<%=rs.getString("Address").toString() %>这句话中,楼主已经使用了getString()方法,返回的应该就是个String了,为什么还要用toString()方法?
value="<%=request.getParameter("Address").getBytes("gb2312").toString() %>"输入的[B@1627c16其实不是乱码,只是输出的某个地址而已。这是因为request.getParameter("Address")返回的是一个String,然后调用getBytes()方法返回的是一个byte类型的数组,而数组是对象,后面的toString()就是输出了这个对象的地址。这句话可以改为:
value="<%=new String(request.getParameter("Address").getBytes("gb2312")) %>"
分享到:
相关推荐
本文将详细介绍如何解决JSP页面间传递变量时出现的乱码问题。 首先,我们来看方案(一),这是通过在JSP脚本中设置字符编码来解决局部乱码的方法。在JSP页面中插入以下代码: ```jsp ("GBK"); %> ("GBK"); %> ``` ...
jsp:param可以实现主页面向包含页面传递参数,如下:<jsp:include page="Relative URL"> <jsp:param name="param name" value="paramvalue" /> </jsp:include> 还可以实现使用jsp:forward动作做页面跳转时传递参数...
JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式,并结合实际应用场景进行解释。 #### 1. 使用表单(Form)进行传值 通过`<form>`标签可以构建一个表单,用户填写...
在多个页面传递jsp参数在多个页面传递jsp参数
JSP 页面中文参数的传递是非常有用的,在实际的编程中,我们常常遇到需要在 JSP 页面切换中传递中文字符。有两种方式可以实现中文参数的传递,即 URL 方式和 FORM 方式。 URL 方式 在 URL 方式中,我们可以直接在 ...
【标题】"jsp页面人力资源管理系统静态页面"涉及的是基于JavaServer Pages(JSP)技术构建的人力资源管理系统的前端部分。JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript等静态内容与Java代码相...
本文将详细解析如何在JSP页面中通过两种主要方法实现这一功能:一是使用`window.open`方法弹出页面;二是使用`window.showModalDialog`方法弹出对话框,并深入探讨其应用场景及优缺点。 ### 一、通过`window.open`...
### 如何解决JSP页面中的中文问题 在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,处理中文字符常常会遇到乱码问题。本文将详细探讨如何有效地解决JSP页面中的中文问题,确保用户界面能够正确地显示...
JSP页面中文乱码的出现通常是由于字符编码不一致导致的,这会影响到用户的正常浏览体验。以下是一些常见的解决办法: 1. **JSP页面显示乱码**: 当JSP页面在浏览器中显示乱码时,首先需要确保JSP文件在本地存储时...
本文将深入探讨在JSP页面中如何正确地通过GET和POST方法传递中文参数,以及在不同场景下应采取的最佳实践。 #### 二、GET方法中文参数传递 **1. 直接在URL中传递中文参数** 直接在URL中包含中文参数,如`...
### JSP页面从一个页面传递一个参数到另外一个页面的方法 #### 概述 在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,经常需要在不同的页面之间传递数据。这些数据可能包括用户的输入、表单提交...
在Web开发中,尤其是使用Java JSP技术时,我们可能会遇到...通过以上方法,我们可以有效地解决JSP页面在URL中传递参数时出现的乱码问题。在实际开发中,理解字符编码的工作原理和处理方式,对于避免这类问题至关重要。
### 关于JSP页面间的传参问题 #### JSP页面间传值方法概述 在进行Web开发时,尤其是在使用Java Server Pages(JSP)技术的过程中,页面间的参数传递是一项非常重要的技能。它不仅涉及到基本的HTML知识,还涉及到...
jsp页面传值中文乱码问题处理 在 JSP 页面中传值时,中文字符可能会出现乱码问题,这是由于字符编码不一致所引起的。下面将详细讲解 JSP 中文乱码种类和解决方案。 JSP 文件中文内容显示乱码 在 JSP 文件中,如果...
### JSP页面间参数传递详解 #### 一、引言 在Web开发中,Java Server Pages (JSP) 是一种广泛使用的服务器端脚本技术,它允许开发者在HTML页面中嵌入Java代码,从而实现动态内容的生成。JSP页面间参数传递是JSP...
这个“jsp经典页面搜集集合”显然是一个资源包,包含了多个用于构建网站或个人博客的基础JSP页面实例。 **1. JSP页面结构** 一个JSP页面主要由两部分组成:静态内容(HTML、CSS、JavaScript)和动态内容(Java代码...
在Java Web开发中,通常我们会使用Action(或Controller)层来处理业务逻辑,并通过Model将数据传递到View(如JSP页面)进行展示。但有时我们可能需要在Action层直接生成一个静态HTML页面,以便于快速部署或者离线...
在提供的博客链接(https://yhxiao1983.iteye.com/blog/248291)中,作者可能会分享一个具体的JSP页面显示流程图的源码示例,这有助于读者理解实际的实现过程。建议查看该博客以获取更多细节和实践指导。 7. **...
**JSP页面与JSP标记**是Web开发中的核心概念,它们构成了动态网页的基础。本章将深入探讨JSP语法,包括HTML语法、JSP页面结构、变量与方法的声明,以及Java程序片、Java表达式、JSP指令和动作标记的使用。 ### 2.1 ...
【韩顺平 jsp页面计算器】是一个基于JSP(JavaServer Pages)技术的简单计算器应用,旨在帮助初学者理解如何在不同的JSP页面之间传递参数。这个教程可能由知名IT教育者韩顺平教授,他的课程通常深入浅出,适合初学者...