首先,感谢我昨天的提问http://www.iteye.com/problems/27665有那么多热心的同志回答!是他们提供的资料帮我解决了这个问题。一下开始我的正文:
昨天要做一个查询分页,因为以前没有做过中文的查询,这次确实费了一番功夫才解决,一下记录整个过程希望能帮助和我遇到同样问题的朋友们。
我的需求是如下图所示的一个酒店搜索:
项目中使用的是Spring的org.springframework.web.filter.CharacterEncodingFilter做的字符过滤器,页面和数据库都使用的是utf-8的编码,tomcat默认编码是iso-8859-1没有改动。
第一步:当这个查询的表单提交的时候Action 中第一次查询,JSP页面显示数据列表和分页,一切正常,分页的按钮链接中包含了查询条件,当然包含了汉字。但是点下一页的时候Action中读到的参数就是乱码了。这是大家都能做到的一步,往下可能很多入门者就会搞乱了。
第二步:
大家都知道Tomcat默认是不支持汉字uri的,所以我们要把传到页面的uri进行处理,网上很多介绍的,就是使用JS来处理,这里涉及到JS三个方法的escape、encodeURI、encodeURIComponent,务必理解这三个方法,这个地方有介绍:http://blog.csdn.net/sfdev/archive/2009/01/20/3842857.aspx,我用到的是encodeURI。
我处理分页链接中的汉字方法如下:
1.把分页的页面、上下页这些链接包含在一个div中
<div id="pageDivShow">
<jsp:include page="/manage/util/pagination.jsp"><%--一些参数传递--%></jsp:include>
</div>
2.使用Js修改这个div中的uri,我使用的是Jquery来做的,代码如下:
$(document).ready(function(){
$("#pageDivShow a").each(
function(){
var h=$(this).attr("href");
$(this).attr({href:encodeURI(h)});
}
);
});
到此页面部分工作告一段落,我看资料里介绍JS的encodeURI方法是默认转换为utf-8,它也没有传入编码的方法。
第三步:
在Action中获取第一次Form提交的数据时可以直接获得正确的汉字,但是从分页上提交到Action中的数据要做另外一步的处理:
new String(value.getBytes("iso-8859-1"),"utf-8");
通过这个方法就可以正确的获得分页传回的汉字参数了。
这里就又产生了一个新的问题,就是我们要区分提交给Action的请求来源是Form提交的,还是分页中提交的,这样就简单了,用一个变量就可以解决。
到此结束,很简单吧,如果还不能理解就照着做个demo,有问题欢迎交流!
再次感谢昨天热心回答我提问的同志们!
- 大小: 36.6 KB
分享到:
相关推荐
本资源包“jsp资料基础知识分页和乱码处理”着重介绍了JSP的基础知识,以及在实际应用中常见的分页技术和乱码处理方法。 首先,让我们深入了解一下JSP的基础知识。JSP的核心在于它将业务逻辑和页面展示进行了分离,...
在HTML2PDF与TCPDF的结合使用中,我们可以利用TCPDF的强大功能来解决中文显示问题。具体步骤如下: 1. **安装和配置HTML2PDF**:首先,你需要安装HTML2PDF库。这可以通过Composer(PHP的依赖管理工具)来完成,或者...
以下是一些关键的知识点和问题的解决方案: 1. **商品列表的实现**: 在这个示例中,商品列表的展示通过 JSP (JavaServer Pages) 实现。`<table>` 标签用于创建表格布局,`<%@ include %>` 语句用于包含其他 JSP ...
**问题八:如何解决POST请求中文乱码问题,GET的又如何处理呢?** - POST请求可以通过配置过滤器解决。 - GET请求需要在客户端编码为UTF-8。 **问题九:SpringMVC的异常处理?** - 使用`@ControllerAdvice`和`@...
在index.php文件中,首先通过PHP的header函数设置内容的编码格式为GBK,避免中文乱码。然后在HTML的部分引入JavaScript和CSS文件。在部分,显示数据内容的div容器和分页导航条的div容器。 在PHP脚本部分,首先获取...
.net中中文乱码问题解决.txt ADO.NET 与 XML:双剑合壁,威力强大.doc ASP.NET HTTP 运行时.doc ASP.NET ViewState 初探.doc ASP.NET Web 方法中的 XmlElement 参数的功能.d ASP.NET 中 Cookie 的基本知识....
5. 中文字体乱码和PDF中无法正常显示的问题:这部分内容应该涉及在使用iReport时可能遇到的关于中文字体显示问题的解决方法。 6. 报表分栏显示:涉及到如何设置报表使其具有分栏效果。 7. 去掉记录中的null:这...
解决方法是将页面编码从UTF-8改为GBK,但这会导致编码不统一。作者了解到common-fileUpload能更好地处理中文乱码。 7. **前后端交互**: - 在后台设置的属性要传递到前端显示,通过隐藏字段(hidden input)作为...
`DocumentRenderer`会调用`PrinterJob.print()`方法,传递必要的参数,如页面格式、打印范围等。 5. **预览和设置**:在实际打印前,用户可能需要预览页面布局。`DocumentRenderer`可能包含预览功能,允许用户调整...
本项目"DatabaseHelper_oracle_c#Oracle_C#_ManagedDataAccess_oracle操作_"正是基于这个库实现的,旨在提供一套完整的解决方案,用于执行基本的数据库操作,如增、删、改、查以及调用存储过程。 首先,我们来看...
- **字符编码转换**:在处理中文等非英文字符时,经常会出现乱码问题。为了解决这个问题,可以采用特定的编码格式进行转换。例如,将字符串从ISO-8859-1编码转换为UTF-8编码: ```java String title = ""; byte[]...
实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...
实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...
为了解决中文乱码问题,项目可能使用了过滤器(Filter)。在HTTP请求和响应过程中,过滤器可以拦截并处理字符编码,确保中文字符正确显示。例如,设置请求和响应的编码格式为UTF-8,避免中文乱码的出现。 分页功能...
- **3.1.2 处理汉字信息**:解决中文乱码问题,通常需要设置正确的编码。 - **3.1.3 常用方法举例**:例如使用`getHeader()`获取HTTP头部信息。 - **3.1.4 用户注册**:通过`request`对象收集用户的注册信息。 -...