struts2.3升级到2.5

网上有不少攻略,但是可能因为每个人之前的框架和升级目标不同,所以还是走了一点弯路,记录下来方便其他旧项目升级吧。


我的目标是把Struts2.3升级到2.5,Spring暂时维持在3.2.3。尝试升到4结果好像不支持iBatis,而且Spring 4以上我已经搭好了Spring + SpringMVC + MyBatis的新框架。


一、升级jar

1、下载Struts2.5

下载地址:http://struts.apache.org/download.cgi#struts2516

下载完整包,这样里面会包含各种依赖包,比较省事。

下载链接:http://mirrors.tuna.tsinghua.edu.cn/apache/struts/2.5.16/struts-2.5.16-all.zip


2、解压缩文件,对应自己项目下的jar文件,我升级了如下图所示的jar。


3、删除文件 xwork-core-2.3.15.1.jar,这个文件在2.5下已经合并到上面的包里了。


二、修改配置文件

1、修改web.xml

由于我使用了sitemesh,所以struts2的prepare和execute是分开写的。下图是原先的配置

新的2.5版本下包名变了,其实就是去掉了.ng,改成如下所示。

  <filter>
    <filter-name>struts-prepare</filter-name>
    <filter-class>
			org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class>
  </filter>
  <filter>
    <filter-name>struts-execute</filter-name>
    <filter-class>
			org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class>
  </filter>

下图的listener也改一下

改成

<listener>
    <listener-class>org.apache.struts2.dispatcher.listener.StrutsListener</listener-class>
</listener>


2、修改文件 struts-tags.tld

用解压缩软件打开文件struts2-core-2.5.16.jar,在META-INF目录下找到文件

将文件覆盖掉项目下WEB-INF目录里的原文件。


三、修改JSP文件

1、修改文件头

改成如下

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">


2、修改<s:iterator

将iterator标签里的id关键字改成var,例如

<s:iterator value = "orderList" var = "m" status="idx">


其他文章里提到的其他标签可能我没用到,也可能我没测试出来问题,以后再补充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章