前期准备:MyEclipse6.0+Tomcat6.0+struts-2.1.8.1+jdk1.6.0_18+Java EE5.0 在MyEclipse
下新建web项目struts2;
1、下载struts2后解压,(struts-2.1.8.1),给项目导入struts包:
commons-logging-1.0.4.jar freemarker-2.3.15.jar ognl-2.7.3.jar
struts2-core-2.1.8.1.jar xwork-core-2.1.6.jar commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar ; 该包在struts--lib下面,直接拉入项目WEB-INF--lib下即可;
2、配置web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
</web-app>
;
3、编写Action类:Struts2.x的动作类需要从com.opensymphony.xwork2.ActionSupport类
继承。下面是计算两个整数代码和的 Action类,在项目src路径下新建action包,
包下建FirstAction类 代码如下:
package action;
import com.opensymphony.xwork2.ActionSupport;
public class FirstAction extends ActionSupport {
private int operand1;
private int operand2;
public String execute() throws Exception {
if (getSum() >= 0)
{
return "positive";
} else
{
return "negative";
}
}
public int getOperand1() {
return operand1;
}
public void setOperand1(int operand1) {
System.out.println(operand1);
this.operand1 = operand1;
}
public int getOperand2() {
return operand2;
}
public void setOperand2(int operand2) {
System.out.println(operand2);
this.operand2 = operand2;
}
public int getSum() {
return operand1 + operand2;
}
}
;
4、配置Action类(编写struts.xml文件,该文件保存在项目src路径下) 参考代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" namespace="/mystruts"
extends="struts-default">
<action name="sum" class="action.FirstAction">
<result name="positive">/positive.jsp</result>
<result name="negative">/negative.jsp</result>
</action>
</package>
</struts>
-------------测试struts2(实现两个整数的相加,判断结果的正负)-------------
5、在WebRoot下建sum.jsp(入口文件) 参考代码:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>输入操作数</title>
</head>
<body>
求代数和
<br />
<s:form action="mystruts/sum.action">
<s:textfield name="operand1" label="操作数1" />
<s:textfield name="operand2" label="操作数2" />
<s:submit value="代数和" />
</s:form>
</body>
</html>
6、positive.jsp 参考:
<%@ page language="java" import="java.util.*" pageEncoding="GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
代数和为非负整数<h1><s:property value="sum"/></h1>
</body>
</html>
;
7、negative.jsp 参考:
<%@ page language="java" import="java.util.*" pageEncoding="GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>显示代数和</title>
</head>
<body>
代数和为负整数<h1><s:property value="sum"/></h1>
</body>
</html>
------------测试URL: http://localhost:8080/struts2/sum.jsp