- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2乱码处理struts2乱码处理
Struts2有关乱码的处理
(参考struts2.2.1)
情况1:方案(1)前台Jsp传参附加在URL后面(jquery)
前台引入jquery库
对含中文的参数进行如下处理:
encodeURIComponent(encodeURIComponent(“XXX”)),其中“XXX”是含中文的参数值。
后台:URLDecoder.decode(“XXX”, UTF-8);其中,“xxx”是前台传的含中文的参数值,UTF-8这个编码,自己做相应调整。
方案(2) 前台Jsp传参附加在URL后面(jquery)
前台引入jquery库
对含中文的参数进行如下处理:
encodeURIComponent(“XXX”),其中“XXX”是含中文的参数值。
后台:new String(“XXX”.getBytes(ISO-8859-1), UTF-8)其中,“xxx”是前台传的含中文的参数值,UTF-8这个编码,自己做相应调整。
注意这种方式的区别
Struts2其他地方不用修改关于编码,就可解决中文乱码。
解决方案(3):
第一步:
jsp页面编码统一问题,这个最容易解决。
%@ page language=java import=java.util.* pageEncoding= contentType=text/html; charset= UTF-8%
以为例子,jsp页面加上上面一句就能解决页面编码问题。
其中pageEncoding=是解决页面java代码模块编码,contentType=text/html; charset=是解决页面静态部分的编码。
好了,第一步轻松解决。准备开始第二步,但是在第二步之前,先说明一下。
jsp的操作流程,是jsp接受各种请求,然后转给servlet处理。在这个过程中会有中文乱码产生。知道了这个乱码产生的原因,就容易办了,接下来就是第二步了。
第二步:
我这里用到了Struts2.2.,目前较新版本吧。我们到知道,struts2封装了servlet,由action来处理jsp的页面请求。
既然用到了struts2,我们的web.xml肯定配置了struts2的拦截器。配置代码如下:
filter
filter-namestruts2/filter-name
filter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class
/filter
filter-mapping
filter-namestruts2/filter-name
url-pattern/*/url-pattern
/filter-mapping
这段是拦截所有请求交给struts2去处理。
手写个字符编码过滤器的类。代码如下:
import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;public class EncodeFilter extends StrutsPrepareAndExecuteFilter implements Filter? {?? ?private FilterConfig config = null;??? private String encoding = null;?? ???? @Override??? public void init(FilterConfig config) throws ServletException {?????? this.config = config;??? }?? ???? @Override??? public void doFilter(ServletRequest request, ServletResponse response,???????
您可能关注的文档
- sql 2005sql 2005.doc
- SPWM变频调速系统设计SPWM变频调速系统设计.doc
- SQL-92标准 中文翻译SQL-92标准 中文翻译.doc
- SQLServerSQLServer.doc
- spss课程论文spss课程论文.doc
- SPSS统计作图SPSS统计作图.doc
- SQL命令题答案SQL命令题答案.doc
- Sql常见面试题Sql常见面试题.doc
- SQL server 说课SQL server 说课.doc
- SQL实验SQL实验.doc
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)