`

Struts2升级带来的乱码问题解决方案

阅读更多
最近在做一个项目时,遇到一个问题,项目中使用的struts2.1.6.jar,使用过程中不存在乱码的问题,但是,项目经理要求,此版本的struts存在安全问题,而且struts官网也强烈建议开发者将struts升级到官网最新版本。本以为把相关的jar包替换掉后就大功告成了,但问题出来了,页面展示中的汉字全部都显示为"&XXX"的形式,如果是英文或数字就不存在这样的情况,这样的问题的原因是在页面中使用了property标签来显示相应的值,那么只要配置escape=false即可解决这样的问题,代码为: <property value="user.username" eascape="false"></property> 如果不配置,则escape的默认值是true 到这里,大家可能认为问题就这样解决了,但是整个工程有七百多个页面,使用了property标签的而没有配置escape的占了95%以上,虽然IDE的全局查找功能可以帮我们打到所有需要修改的地方,但是修改所花费的时间还是太长了,于是有了修改struts标签中escape默认值的想法,查阅struts的源代码,发现在PropertyTag这个类中存在一个escapeHtml的属性它的默认值是true,继续查看源码,终于定位了修改的地方,我们只要将这个escapeHtml的值修改为false即可。 找到下载的源代码,找到PropertyTag.java文件,修改之,保存,然后我们将其重新打包成jar文件(struts2采用maven进行管理,需要在本机上安装maven,然后使用mvn命令即可),将生成的struts-core的jar文件替换掉工程中使用的,测试,问题解决,对于极个别的需要使用eascape=true的情况,我们只需要修改这几个而已。 此问题有原因是当escape=true时会对进行htmlEncode所导致的,但是我们并不需要对其进行encode,这种解决方案所花费的时间只是最开始解决方案的1/5
  • 大小: 148.5 KB
分享到:
评论

相关推荐

    Struts2中文乱码问题最终解决方案

    解决方法是更新Struts2到2.1.8.1或更高版本,并确保使用最新的`StrutsPrepareAndExecuteFilter`过滤器。 3. **GET乱码问题**: GET请求的乱码问题通常与服务器配置有关。在Struts2的各个版本和不同过滤器设置下,...

    Struts2资源文件在jsp页面中显示乱码解决

    通过上述两种解决方案,我们可以有效解决Struts2资源文件在JSP页面中显示乱码的问题。虽然第一种方法可以达到目的,但其带来的维护不便使其不被推荐;相比之下,安装PropertiesEditor插件不仅操作简便,还能彻底解决...

    struts解决中文乱码问题

    在开发Web应用程序时,中文乱码问题是一个常见的挑战,特别是在使用Struts框架的时候。这个问题的出现通常是由于客户端和服务器端的字符集不一致导致的。本文将深入探讨如何解决Struts框架下的中文乱码问题。 首先...

    struts 2. 5.2解决中文乱码

    在`myStruts`这个压缩包中,可能包含了示例代码、配置文件或测试用例,这些内容可以作为实践上述解决方案的参考。如果你在应用上述步骤后仍然遇到问题,可能需要检查`myStruts`中的具体文件以找出问题所在。例如,...

    struts2文件下载(解决了中文乱码问题)

    在处理文件下载时,Struts2提供了一套完整的解决方案,包括处理中文文件名的乱码问题。在标题提到的场景中,开发者可能遇到了在使用Myeclipse 6.5集成开发环境,JDK1.6和Tomcat 6.0服务器环境下,通过Struts2进行...

    struts2配置文件传值中文乱码

    本文将围绕“Struts2配置文件传值中文乱码”这一主题,深入探讨其成因、解决方案以及相关的配置细节,旨在帮助开发者有效解决中文乱码问题,提升用户体验。 ### Struts2框架简介 Struts2是Apache组织下的一个开源...

    struts中文问题,struts国际化问题——终极解决方案

    ### Struts中文问题与国际化问题——终极解决方案深度解析 #### 引言 在Web应用开发中,特别是使用Struts框架时,中文显示和国际化(Internationalization,简称i18n)问题是开发者常遇的挑战。本文将深入探讨解决...

    struts 2.1.6 中文乱码处理

    通过上述方法,可以在不升级Struts 2版本的情况下解决中文乱码问题。这种方法既简单又实用,适用于大多数Web项目。当然,除了使用自定义过滤器之外,还可以考虑其他方法,比如在Action类中设置请求编码等,但这些...

    struts2.0总结文档2

    ### Struts2.0中的乱码问题解决方案 #### 概述 Struts是一个开源的Web应用框架,它属于MVC架构的一种实现。Struts2作为Struts1的升级版本,虽然在很多方面进行了优化和改进,但在实际开发过程中仍然会遇到一些常见...

    Struts2学习笔记

    - **解决乱码问题**:例如配置`struts.i18n.encoding=UTF-8`。 - **自定义Action扩展名**:例如`struts.action.extension=do,action`。 - **友好提示信息**:配置`struts.messages.error.uploading`。 - **自动...

    struts文件

    Struts2不仅继承了前代的优点,还解决了许多早期框架中存在的问题,如更好的类型转换和验证机制、支持拦截器等。 #### 二、Struts2框架的基本使用步骤 - **第一步:导入Jar包** - **选择正确的Jar包**:并非所有...

    孙维琴struts,helloapp

    在这个"helloapp_version2"中,我们可以看到作者对基础的"helloapp"进行了升级,加入了国际化支持和中文乱码的解决方案。国际化(i18n)是让应用程序能够根据不同地区的语言环境显示对应语言的一种功能。在Struts中...

    TongWeb应用移植指导方案

    此外,对应用进行性能评估和风险评估,识别出可能存在的问题和挑战,以便制定相应的解决方案。 三、应用移植过程 1. 移植环境准备:确保目标平台的硬件配置、操作系统和TongWeb版本与源环境一致或兼容。安装必要的...

    JAVA中 SSH 框架搭建视屏

    **常见问题与解决方案** - **配置冲突**:在多个框架共存时,可能会出现配置冲突的问题,此时可以通过调整配置文件的加载顺序、使用不同的命名空间等方式解决。 - **性能瓶颈**:随着系统的复杂度增加,可能会遇到...

    Java Web开发技术的教学方法研究.pdf

    每个知识点都应配以不同层次的案例,包括简单的解释性案例、课堂上的实际问题解决案例以及课后的综合练习。例如,可以通过逐步升级一个网络留言板管理系统的实现,从JSP+JavaBean到MVC+DAO,再到Struts+Hibernate+...

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的...

    JspRun!社区论坛系统 v6.0 bulid 090424 GBK 安装版.rar

    的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的...

    Spring MVC面试宝典1.pdf

    ##### 3.4 如何解决POST请求中文乱码问题,GET的又如何处理呢? - **POST请求**:在web.xml中配置过滤器CharacterEncodingFilter来设置字符编码。 - **GET请求**:同样可以通过配置过滤器解决,也可以通过修改Tomcat...

    JSP+Servlet制作Java Web登录功能的全流程解析

    页面首先设置字符编码为utf-8,以解决中文乱码问题。然后在页面body部分,我们定义了一个form表单,包含用户名和密码输入框,并设置表单的提交方式为post,提交地址指向loginServlet的处理地址。为了防止中文乱码,...

Global site tag (gtag.js) - Google Analytics