Struts2 2.0升级到2.5的配置

六眼飞鱼酱① 提交于 2019-11-30 08:44:25

最近在维护SSH(Struts2+Spring+Hibernate)框架写的老项目,项目想要由jdk 7升级到jdk 11,固Spring、Struts2等版本也要跟着升级,下面对Struts2版本由2.0升级到2.5做个总结。

1、首先替换核心jar包

之前工程中的jar包:
在这里插入图片描述
替换jar包后:
在这里插入图片描述
(注意:并不是图片里所有的都要放到自己的项目中,自己的项目中用到了哪些,就替换掉哪些。删除原工程"xwork-2.0.4.jar",因为这个类库struts升级到2.5版本已经包含在struts2-core中了,所以一定要删除。)

2、修改web.xml

 <filter>
    <filter-name>struts2</filter-name>
    <!-- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> -->
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>

3、修改struts.xml配置文件

a、修改struts.xml的头部信息,把版本换成2.5

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

其它有关如:struts-admin.xml等文件也需要把版本修改成2.5

b、修改由spring担任工程bean

<!-- 由spring担任工程bean -->
<constant name="struts.ObjectFactory" value="spring"></constant>

4、修改jsp的struts标签,新版本里有三处明显区别,有关jsp页面修改部分

a、<s:bean id=“locales” name=“com.vo.srs.common.Locales”>
要修改成
<s:bean var=“locales” name=“com.vo.srs.common.Locales”>

b、<s:iterator value="#session.role" id=“lai”>
要修改成<s:iterator value="#session.role" var=“lai”>

c、<s:set name=“lmenu” value="{‘Rating’,‘Reporting’,‘Reporting2’}"></s:set>
要修改成
<s:set var=“lmenu” value="{‘Rating’,‘Reporting’,‘Reporting2’}"></s:set>

d、<s:property value=“vo.sourcings3[#status.index]” escape=“false”/>
 要修改成
 <s:property value=“vo.sourcings3[#status.index]” escapeHtml=“false”/>

5、struts2.5版本适用jdk1.7或者以上,struts最新版struts2-core-2.5.20.jar,适用于jdk11

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!