maven项目webWork转struts2
1. maven项目中修改pom.xml文件:
(1)删除所有webwork依赖包
<dependency>
<groupId>opensymphony</groupId>
<artifactId>webwork</artifactId>
<version>2.2.5</version>
</dependency>
(2)引入struts2包
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.20</version>
</dependency>
如果Action的类是由spring管理的还需导入包struts2-spring-plugin
Ps: 引入struts2-core时 maven自动导入的依赖包如下:
struts2-core-2.3.20.jar
xwork-core-2.3.20.jar
freemarker-2.3.19.jar
ognl-3.0.6.jar
2. 修改web.xml文件的过滤器,把webwork的过滤器改为struts2的过滤器
<filter>
<filter-name>webwork</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
* 改为struts2过滤器 *
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. 修改xwork.xml文件名为struts.xml;
(1)接着struts.xml修改头文件信息为
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
(2)修改标签xwork为struts,并把include标签中webwork-名称修改为struts-,并修改相应的文件名称,include下的配置文件也做相应处理
<xwork>
<include file="webwork-default.xml"/>
<include file="webwork-active.xml"/>
</xwork>
修改后
<struts>
<!-- 声明请求链接的后缀为htm -->
<constant name="struts.action.extension" value="htm"></constant>
<include file="struts-default.xml"/>
<include file="struts-active.xml"/>
</struts>
注意:原来的的webwork-default.xml请删除,因为struts-defualt.xml的拦截器和webwork下的拦截器可能不同,防止到struts2 中报错!如果有自定义拦截器自行处理。系统默认使用struts核心包下的struts-default.xml,如果有配置struts-default.xml,优先使用自定义配置的,同理原来的webwork.properties文件可以删除了,在struts文件中声明了扩展名为htm,即为下面这句
<constant name="struts.action.extension" value="htm"></constant>
如果webwork.properties改为struts.properties也可以,不过估计有些属性struts中已删除,详细配置请百度!
4. 修正报错的Java文件
修改类文件中导入的包,打开报错的java文件,快捷键 ctrl+shift+o 即可自动修复引用的类文件!也可以用ctrl+h查找替换,你感觉怎么方便怎么改!
5. JSP页面相关
修改JSP页面: prefix="ww"
为 tag的前缀,struts2默认为 prefix="s"
;我们可以继续用 prefix="ww"
即
<%@ taglib prefix=”ww” uri=”webwork” %>
修改为
<%@ taglib prefix=”ww” uri=”/struts-tags” %>
本文参考自CSDN博客:webwork项目移植到struts2