一、开发环境:JDK6.0+MyEclipse6.0+TOMCAT6.0
二、准备jar包:这里用的是struts2-2.0.12版本,解压后,在lib中选出这个几个核心jar包即可。
commons-logging-api-1.1.jar , freemarker-2.3.8.jar ,ognl-2.6.11.jar,struts2-core-2.0.12.jar,xwork-2.0.6.jar
三、开发步骤:
1,在myeclipse中创建web项目,把准备好的几个核心jar包加入lib目录,在项目的web.xml文件中,配置struts2的核心控制器(FilterDispatcher过滤器)
<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>
2,在src目录下,加入struts2的配置文件 struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > <struts><!-- 该文件放到src目录下,编译后自动部署到classes目录 --> </struts>
3,写Action,写Action时继承com.opensymphony.xwork2.ActionSupport 即可
package sample1;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String execute() {
name = "hello," + name + "!";
return "ok";//下一步跳转标记
}
}
4,在struts.xml中配置写好的action ,确定跳转页面
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > <struts><!-- 该文件放到src目录下,编译后自动部署到classes目录 --> <package name="" extends="struts-default"> <action name="hello" class="sample1.HelloWorldAction"> <result name="ok">showHello.jsp</result><!-- 执行后跳转页面 --> </action> </package> </struts>
5,写对应的跳转页面showHello.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %><!-- 引入struts2标签 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>showHello</title>
</head>
<body>
<s:property value="name"/><!-- 使用struts2标签输出name属性值,通过反射调用getName() -->
</body>
</html>
四、部署项目到tomcat,启动运行
在浏览器输入地址:http://localhost:8888/app/hello.action?name=lekihuo 即可得到HelloWorldAction中的name属性值
其中hello为在struts.xml中配置action的name