Struts2 CRUD

  1. 前台查询页面(studentList.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%@  include file="/jsp/common/head.jsp"%>
</head>
<body>
<h1>学生</h1>
      <!--获取班级数据  -->
         <s:action name="clazzAction" namespace="/sy"  var="clazzActionList"></s:action> 

  
     <s:form namespace="/sy" action="studentAction_list">
            <s:textfield label="姓名" name="sname"></s:textfield>
            <s:select label="班级" name="cid"   list="#clazzActionList.result" listKey="cid" listValue="cname" headerKey="" headerValue="==选择=="></s:select>
           <s:submit value="提交"></s:submit>
     </s:form>
  
  <!-- 增加 -->
      <s:url namespace="/sy" action="studentAction_transitAdd" var="stuadd"></s:url>
				 <s:a href="%{#stuadd}">增加</s:a>
				 
	  <table border="1" width="100%">
		<tr>
			<td>序号</td>
			<td>学号</td>
			<td>姓名</td>
			<td>拼音</td>
			<td>性别</td>
			<td>标记</td>
			<td>班级</td>
			<td>操作</td>
		</tr>
		<s:iterator var="s" value="result">
		<tr>
			<td>序号</td>
			<td><s:property value="#s.sid"/></td>
			<td><s:property value="#s.sname"/></td>
			<td><s:property value="#s.spin"/></td>
			<td><s:property value="#s.sex"/></td>
			<td><s:property value="#s.mark"/></td>
			<td><s:property value="#s.cname"/></td>
			<td>
			<s:url namespace="/sy" action="studentAction_transitEdit" var="stuedit">
			   <s:param name="sid" value="#s.sid"></s:param>
			 
			</s:url>
				 <s:a href="%{#stuedit}">修改</s:a>
				 
		    <s:url namespace="/sy" action="studentAction_delete" var="studelete">
		     <s:param name="sid" value="#s.sid"></s:param>
		     </s:url>
		    <s:a href="%{#studelete}">删除</s:a>
			</td> 
		</tr>
		</s:iterator>
	</table>
	<s:debug/>
</body>
</html>

2.增加页面(addStudent.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@ include file="/jsp/common/head.jsp" %>
</head>
<body>
	<h1>add</h1>
	<!--获取班级数据  -->
         <s:action name="clazzAction" namespace="/sy"  var="clazzActionList"></s:action> 
	
	<s:form namespace="/sy" action="studentAction_add">
	
		<s:textfield label="学号" name="sid" />
		<s:textfield label="姓名" name="sname" />
		<s:radio label="性别" name="sex" list="#{1:'男',2:'女'}" value="1"/>
		<s:select label="班级" name="cid" headerKey="" headerValue="===请选择===" list="#clazzActionList.result" listKey="cid" listValue="cname" cssStyle="width:160px;" />
		<s:textarea label="备注" name="mark"></s:textarea>
		<s:submit value="确定"/>
	</s:form>
</body>
</html>

3.修改页面(editStudent.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@ include file="/jsp/common/head.jsp" %>
</head>
<body>
	<h1>edit</h1>
	
	 <!--获取班级数据  -->
         <s:action name="clazzAction" namespace="/sy"  var="clazzActionList"></s:action> 
         
        <s:push value="result">
	<s:form namespace="/sy" action="studentAction_edit">
	
		<s:textfield label="学号" name="sid" />
		<s:textfield label="姓名" name="sname" />
		<s:radio label="性别" name="sex" list="#{1:'男',2:'女'}" value="sex"/>
		<s:select label="班级" name="cid" headerKey="" headerValue="===请选择==="  list="#clazzActionList.result" listKey="cid" listValue="cname" cssStyle="width:160px;" />
		<s:textarea label="备注" name="mark"></s:textarea>
		<s:submit value="确定"/>
	</s:form>
	</s:push>    
	
	<s:debug/>
</body>
</html>

4.后台代码

package com.struts.web;

import java.sql.SQLException;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ModelDriven;
import com.strurts.utli.PageBean;
import com.struts.dao.StudentDAO;
import com.struts.entity.Student;

public class StudentAction extends BaseAction implements ModelDriven<Student>{
	
	private Student student=new Student();
	private StudentDAO studentDAO=new StudentDAO();
	/**
	 * 查询学生
	 * @return
	 */
	public String list() {
		
		try {
			PageBean pageBean=new PageBean();
			this.result=this.studentDAO.list(student, pageBean);
		} catch (InstantiationException | IllegalAccessException | SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return LIST;
	}

	
	
	/**
	 * 增加学生
	 */
	public String add() {
		try {
			this.studentDAO.add(student);
		} catch (InstantiationException | IllegalAccessException | NoSuchFieldException | SecurityException
				| SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return SUCCESS;
	}
	
	
	
	/**
	 * 修改学生信息
	 * @return
	 */
	public String edit() {
		try {
			this.studentDAO.edit(student);
		} catch (InstantiationException | IllegalAccessException | NoSuchFieldException | SecurityException
				| SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return SUCCESS;
	}
	
	/**
	 * 删除学生
	 * @return
	 */
	public String delete() {
		try {
			this.studentDAO.del(student);
		} catch (InstantiationException | IllegalAccessException | NoSuchFieldException | SecurityException
				| SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return SUCCESS;
	}
	
	
	/**
	 * 中转
	 * @return
	 */
	public String transitAdd() {
		
		
		return ADD;
	}
	
	
	/**
	 * 中转Edit
	 * @return
	 */
	public String transitEdit() {
		try {
			this.result=this.studentDAO.load(student);
		} catch (InstantiationException | IllegalAccessException | SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return EDIT;
	}
	
	
	
	
	
	
	
	@Override
	public Student getModel() {
		// TODO Auto-generated method stub
		return student;
	}
	

}

6.后台Action继承于(BaseAction )这个类

package com.struts.web;

import javax.servlet.ServletContext;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;

import com.strurts.utli.PageBean;

public class BaseAction implements ServletRequestAware,ServletResponseAware{

	
	/**
	 * 域对象
	 */
	protected HttpServletRequest request;
	protected HttpServletResponse response;
	protected HttpSession session;
	protected ServletContext application;

	
	
	/**
	 * 结果码
	 */
	protected static final String SUCCESS ="success";//成功
	protected static final String FALI="fali";   //失败
	protected static final String ADD="add";   //增加
	protected static final String EDIT="edit";  //修改
	protected static final String DELETE="delete"; //删除
	protected static final String LIST="list";  //查询
	
	
	/**
	 * 传递的变量
	 * 结果信息
	 * 结果标识
	 */
	protected Object result;
	protected Object msg;
	protected int code;

	public Object getResult() {
		return result;
	}
	public Object getMsg() {
		return msg;
	}
	public int getCode() {
		return code;
	}
	
	
	@Override
	public void setServletResponse(HttpServletResponse arg0) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void setServletRequest(HttpServletRequest arg0) {
		// TODO Auto-generated method stub
		
	}
	
	
}

6.中转xml的配置(struts-sy.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<package name="sy" extends="base" namespace="/sy">


<action name="usetAction_*" class="com.struts.web.UserAction" method="{1}">
 <result name="index">/index.jsp</result>
</action>


<!-- 班级 -->
 <action name="clazzAction" class="com.struts.web.ClazzAction" >
</action>

<!--  学生-->
 <action name="studentAction_*" class="com.struts.web.StudentAction"  method="{1}">
   <result name="list" >/jsp/studentList.jsp</result>
     <result name="success" type="redirect">/sy/studentAction_list.action</result>
     <result name="edit" >/jsp/editStudent.jsp</result>
     <result name="add" >/jsp/addStudent.jsp</result>
</action>

	</package>
</struts>

猜你喜欢

转载自blog.csdn.net/zimuliusu/article/details/83048103