Struts2版本2.0升2.3.37 您所在的位置:网站首页 struts2升级2530需要替换哪些jar包 Struts2版本2.0升2.3.37

Struts2版本2.0升2.3.37

2023-10-29 04:30| 来源: 网络整理| 查看: 265

项目环境: 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.StrutsPrepareAndExecuteFilter

4.特别注意 报下面异常时:

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 实验室设备网 版权所有