1.创建工程
1)创建一个web project应用
2)选中工程名,按照如下图所示进行选择
3)src下面会自动创建一个struct.xml文件
2.业务控制器Action
1)action的相关说明
Action是struts中的一个抽象类,是Struts的心脏部分,ActionServlet和ActionForm进行过处理获取的请求和数据,都会到达Action中得到分发。
-
可以进行一些表单数据的检查,这里面的检查一般和页面的检查是不一样的,页面的检查都是客户端的一些数据格式规范的检查,这里的检查而与业务相关的检查一般放到这里面检查,比如与JavaBean相关的一些操作。也可以说它是一个业务逻辑的管理分发的地方。
-
执行必要的业务逻辑,不如存取数据库,调用实体bean等。它会直接调用业务逻辑层的javabean去处理数据库的操作,比如增删改查等。
-
根据处理的结果决定程序的去向,并以ActionForward对象的形式传递给ActionServlet,这样ActionServlet通过配置文件,决定返回的数据到达那个页面。
-
Action是一个抽象类,必须实现以后才能执行,执行的方法是execute方法。
2)在src/actions文件夹下面创建Action类StudentInforAction,内容如下所示:
package actions;
import com.opensymphony.xwork2.ActionSupport;
public class StudentInforAction extends ActionSupport {
private String studentName;//定义学生信息
private String studentNo;
private String password;
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentNo() {
return studentNo;
}
public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
private String major;
public String execute(){//该方法是action默认的执行方法,根据Action的execute()方法的处理结果信息,找到struct.xml配置中对应的视图结果。并在浏览器中呈现
return SUCCESS;//返回逻辑视图SUCCESS,SUCCESS是Struts的内置常量
}
}
3.structs.xml配置
1)structs.xml配置的相关说明(structs.xml配置文件详解见:http://www.cnblogs.com/nayitian/p/3485167.html)
Action业务控制器定义完成后,必须在配置文件structs中配置后才能使用。在structs2中,所有的常量,Action和拦截器都在该文件中进行配置。
2)以下代码配置了2个Action。那么什么情况下action类会执行操作呢?有两种情况,一种是action类中的execute()自动调用,另一种方法是指定action类中的某一种方法来执行操作
<?xml version="1.0" encoding="UTF-8" ?>
/student/studentInforCollector.jsp
/student/studentInforShow.jsp
4.视图文件
在WebRoot/syudent文件夹下面创建2个视图,分别命名为studentInforCollector和studentInforShow。
1)studentInforCollector用来接受学生信息的输入
<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>
<%@ taglib prefix=“s” uri=“/struts-tags” prefix=“html” %>
请在这里输入个人信息
<s:form action=“StudentInforShow”>
<s:textfild name=“studentName” label=“姓名”/>
<s:textfild name=“studentNo” label=“学号”/>
<s:textfild name=“password” label=“密码”/>
<s:textfild name=“major” label=“专业”/>
<s:submit/>
</s:form>