1、进入官方网站——http://struts.apache.org/2.1.8.1/index.html
2、找到Struts-2.1.8.1/apps/struts2-blank-2.1.8.1.war解压
3、在web.xml中添加Struts2的过滤器(2.0和2.1的过滤器不同)
<!-- Struts2.1 --> <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> <!-- Struts2.0 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4、拷贝基础包到工程:
struts2-core-2.1.8.1.jar --核心包
xwork-core-2.1.6.jar --xwork所依赖的核心包,struts2是在xwork基础上开发的
ognl-2.7.3.jar --ognl表达式包
freemarker-2.3.15.jar --模板引擎包
commons-io-1.3.2.jar --处理IO包(可不用加)
commons-fileupload-1.2.1.jar --文件上传包
5、拷贝struts.xml(struts2-blank-2.1.8.1/WEB-INF/src/java)到src目录下:
<!-- 关闭动态方法调用,(关闭action名 + 感叹号 + 方法名进行方法调用,如login!checkLogin.action,调用Action名为login类中的checkLogin方法) --> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <!-- 是否开发模式 --> <constant name="struts.devMode" value="false" /> <!-- 导入其他配置文件 <include file="helloWorld.xml"/> --> <!-- name标识(随便写) namespace为路径前缀/:localhost:8888/StrutsPro/hello/helloWorld.action extends继承参数,必须要有个. --> <package name="hello" namespace="/hello" extends="struts-default"> <!-- name为Action访问名称 --> <action name="helloWorld" class="com.struts2.hello.HelloAction"> <!-- 无name默认success,无type默认转发(type="dispatcher") --> <result>/helloWorld/HelloWorld.jsp</result> </action> </package> </struts>
6、写Action类(可以不继承任何类,也可以继承ActionSupport):
//Action public class HelloAction { private String message; // (默认执行方法) public String execute() { System.out.println("world:" + message); // SUCCESS是result的默认值,即result中没有写name,如<result>/example/HelloWorld.jsp</result> return "success"; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
可以继承Action接口,里面定义了一些返回的字符串常量(如SUCCESS,INPUT,ERROR...),和execute方法. 或者继承ActionSupport类,Actioin接口的默认实现.
7、写HelloWorld.jsp页面,访问message参数:
<%@ taglib prefix="s" uri="/struts-tags" %> <!-- s标签访问 --> <h2>Message:<s:property value="message"/></h2>
8、访问HelloAction,带message参数:
<a href="${pageContext.request.contextPath}/hello/helloWorld.action?message=struts2" mce_href="${pageContext.request.contextPath}/hello/helloWorld.action?message=struts2">HelloWorld</a>
欢迎技术交流。 QQ:138986722
原文来自google搜索——http://code.google.com/p/j2eewiki/wiki/Struts2Hello