Struts2版本2.0升2.3.37 | 您所在的位置:网站首页 › struts2升级2530需要替换哪些jar包 › Struts2版本2.0升2.3.37 |
项目环境: jdk1.6 + tomcat6 + orcale
框架: Struts2+Spring+ibatis
需求:Struts2 版本是2.0版 升级到2.3.37版本
第一步:下载struts-2.3.37.zip 全量版本 https://download.csdn.net/download/sinat_34979884/12623257 第二步:根据自己的需要替换自己需要的jar 包 这个过程有点耗时,因为这个项目是临时接手,不太敢大开大合的动并且项目本身依赖的jar 不是太多 ,因此采用的是步步为营的策略 先从替换struts-core-XXX.jar 核心包开始 然后根据编译报错一步步替换 这个工作已经做完,下面是我整理的最小依赖,大家可以直接用把 commons-lang3-3.2.jar commons-logging-1.1.3.jar freemarker-2.3.28.jar javassist-3.11.0.GA.jar ognl-3.0.21.jar struts2-core-2.3.37.jar struts2-spring-plugin-2.3.37.jar xwork-core-2.3.37.jar 第三步:程序和配置文件的调整 1.struts2.xml 相关的 所有struts.xml文件的头标题 2.java文件 部分对依赖的jar有引用 例如:commons-lang3-3.2.jar包的引用上 旧的:org.apache.commons.lang.xxxx 新包:org.apache.commons.lang3.xxx 这一类的异常 需要手动调整了 3.web.xml中 这是2.3以后对过滤器的优化 struts-cleanup org.apache.struts2.dispatcher.ActionContextCleanUp struts2 org.apache.struts2.dispatcher.FilterDispatcher 修改为 filter-class 变动 ,filter-name 不变 struts-cleanup org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter4.特别注意 报下面异常时: a.struts2 过滤器无法启动 严重: Exception starting filter struts2原因有很多 基本上都是配置上的原因 我的就是有相同的jar包,但是版本号不一样。去lib下看是否存在相同的jar包,找到就删掉一个jar包,重新启动tomcat。 b.struts-tags.tld 标签库 问题 jsp上标签报错 According to TLD or attribute directive in tag file, attribute disabled does not accept any expressions 或者 test does not support runtime expression原因是:Struts 2从 version 2.0.11开始已经不支持struts tag与JSP EL表达式混合使用了(不在struts tag里使用EL还是可以的),而只支持OGNL 因此像jsp 界面中各类混用的形式不能用了 或者解决方法: 所有的地方都要改 ${} 改成 #{} 或者%{} 用# 比较好点 例如: 或者 |
CopyRight 2018-2019 实验室设备网 版权所有 |