struts2.3升级到struts2.5
<本文是struts2.3.35升级到struts2.5.30>
一、jar包说明:
struts2.5版本struts2-core包包含了xwork-core,所以此处删除了2.3版本中的xwork-core-2.3.35.jar
替换jia包:
1.struts2-spring-plugin-2.5.30.jar
2.struts2-junit-plugin-2.5.30.jar
3.struts2-json-plugin-2.5.30.jar
4.struts2-core-2.5.30.jar
5.ognl-3.1.29.jar
6.commons-lang3-3.8.1.jar
新增jar包:log4j-api-2.8.2.jar
删除jar包:xwork-core-2.3.35.jar
二、修改web.xml,去除.ng(因为2.5的目录变了)
2.3版本:
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
2.5版本修改为
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
三、修改struts.xml及相关struts文件
1、头部信息2.3改为2.5改为:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
2.增加动态方法调用开关
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
3.在所有package标签上增加允许方法被调用开关strict-method-invocation=“false”
<struts>
<package name="XXXX" namespace="/XXXX" extends="XXXX" strict-method-invocation="false">
<action name="XXXX" class="xxxx" method="xxxx">
</action>
<package>
</struts>
四、修改jsp标签(dtd)
<如果使用次标签才需要修改>
1、将<s:set name 改为<s:set var
2、<s:property escape改为<s:property escapeHtml