apache终于发布了struts的正式版strutsGA所以我也该从webwork迁移至strutsstruts基本上就是webwork的翻版所以迁移过程倒是很简单只需要修改下配置文件和一些包名就可以了如果在EclipseNetbeans这些集成开发工具的帮助下记不清包名也很容易找到想要的类的呵呵
在Eclipse下建立一个Dynamic Web Application
从struts的lib目录中复制下面的库文件到WEBINF/lib目录下
commonsloggingjar
freemarkerjar
ognljar
strutsapijar
strutscorejar
strutsspringpluginjar
xworkjar
从spring中lib目录中复制下面的库文件到WEBINF/lib目录下
springjar
修改webxml增加一个struts的分派器filter映射所有的urlpattern再增加一个spring的ContextLoaderListener监听器修改后的内容如下
xml 代码
<?xml version= encoding=UTF?>
<webapp id=WebApp_ID version=
xmlns=
xmlns:xsi=instance
xsi:schemaLocation= app__xsd>
<displayname>strutstutorial</displayname>
<filter>
<filtername>struts</filtername>
<filterclass>orgapachestrutsdispatcherFilterDispatcher</filterclass>
</filter>
<filtermapping>
<filtername>struts</filtername>
<urlpattern>*action</urlpattern>
</filtermapping>
<welcomefilelist>
<welcomefile>indexjsp</welcomefile>
</welcomefilelist>
<listener>
<listenerclass>orgsprntextContextLoaderListener</listenerclass>
</listener>
</webapp>
写一个简单的ActionHelloWorld
java 代码
package tutorial;
import comopensymphonyxworkActionSupport;
public class HelloWorld extends ActionSupport {
public static final String MESSAGE = Struts is up and running ;
public String execute() throws Exception {
setMessage(MESSAGE);
return SUCCESS;
}
private String message;
public void setMessage(String message){
ssage = message;
}
public String getMessage() {
return message;
}
}
在源文件路径下(项目的src目录)增加strutsxml配置action这个文件是集成spring的关键所在这里面描述有如何将spring集成到struts的相关信息
xml 代码
<!DOCTYPE struts PUBLIC
//Apache Software Foundation//DTD Struts Configuration //EN
dtd>
<struts>
<! 下面这句表明对象是由spring负责产生的加上这句后struts会产生让spring负责
产生bean如果spring不能产生bean则由struts自己产生也可以在strutsproperties
文件内定义这个属性>
<constant name=objectFactory value=spring></constant>
<package name=strutstutoial extends=strutsdefault namespace=/>
<! 注意现在action的class属性不再是类的名字了而是在spring中的bean的id
详细信息请看下面的spring的bean配置文件applicationContextxml >
<action name=HelloWorld class=helloWorld>
<result>/helloWorldjsp</result>
</action>
<! Add your actions here >
</package>
</struts>
在WEBINF/目录下增加spring的bean配置文件applicationContextxml
xml 代码 <?xml version= encoding=UTF?>
<!DOCTYPE beans PUBLIC //SPRING//DTD BEAN //EN beansdtd>
<beans>
<bean id=helloWorld class=tutorialHelloWorld></bean>
</beans>
配置很简单只有一个bean
最后在WebContent目录下增加helloWorldjsp
xml 代码
<%@ taglib prefix=s uri=/strutstags %>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h><s:property value=message /></h>
</body>
</html>