StudentAction 控制器
package cn.action; import java.util.ArrayList; import java.util.List; import cn.biz.StudentBiz; import cn.biz.impl.StudentBizImpl; import cn.entity.Classes; import cn.entity.Student; import com.opensymphony.xwork2.ActionSupport; /** * 学生 控制器 * */ @SuppressWarnings("serial") public class StudentAction extends ActionSupport { private StudentBiz studentBiz = new StudentBizImpl(); private List<Student> students = new ArrayList<Student>(); private Student student = new Student(); private Integer id; private List<Classes> classesList = new ArrayList<Classes>(); private Integer classId; /** * 显示学生列表 * @return */ public String list(){ students = studentBiz.getAll(); return SUCCESS; } /** * 根据 id 查询学生信息 * @return */ public String selected(){ student = studentBiz.getStudentById(id); classesList = studentBiz.getClassesList(); return SUCCESS; } /** * 修改学生信息 * @return */ public String updated(){ Classes classes = new Classes(); classes = studentBiz.getClassesById(classId); student.setClasses(classes); if(studentBiz.update(student) > 0){ students = studentBiz.getAll(); return SUCCESS; }else{ return INPUT; } } public StudentBiz getStudentBiz() { return studentBiz; } public void setStudentBiz(StudentBiz studentBiz) { this.studentBiz = studentBiz; } public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; } public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public List<Classes> getClassesList() { return classesList; } public void setClassesList(List<Classes> classesList) { this.classesList = classesList; } public Integer getClassId() { return classId; } public void setClassId(Integer classId) { this.classId = classId; } }
struts.xml 配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "struts-2.1.dtd"> <struts> <constant name="struts.ui.theme" value="simple"></constant> <package name="default" namespace="/" extends="struts-default"> <!-- 显示学生列表 --> <action name="list" class="cn.action.StudentAction" method="list"> <result name="success">/index.jsp</result> </action> <!-- 根据id查询学生信息 --> <action name="selected" class="cn.action.StudentAction" method="selected"> <result name="success">/update.jsp</result> </action> <!-- 修改学生信息 --> <action name="updated" class="cn.action.StudentAction" method="updated"> <result name="success">/index.jsp</result> <result name="input">/update.jsp</result> </action> </package> </struts>
index.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> *{ margin:0; padding:0; } body{ font-family:"宋体"; color:#333; font-size:14px; background:#fff;} a{ color:#069; text-decoration:underline;} a:hover{ color:#f60; text-decoration:underline;} h3{ text-align:center; line-height:40px;} table{ margin:0 auto; line-height:23px;} table tr th{ background:#B8860B;} table tr td{ padding:0 8px;} table .tdBg td{ background:#999} </style> <title>学生信息列表</title> </head> <body> <h3>学生信息列表</h3> <table border="1"> <tr> <th>编号</th> <th>姓名</th> <th>性别</th> <th>生日</th> <th>电话</th> <th>E-mail</th> <th>班级</th> </tr> <s:iterator value="students" status="st"> <tr <s:if test="#st.even">class="tdBg"</s:if> ><!-- 隔行变色 --> <td><s:a href="selected.action?id=%{id}"><s:property value="id"/></s:a></td> <td><s:property value="sname"/></td> <td><s:property value="gender"/></td> <td><s:date name="birthday" format="yyyy-MM-dd" /></td> <td><s:property value="telephone"/></td> <td><s:property value="email"/></td> <td><s:property value="classes.cname"/></td> </tr> </s:iterator> </table> </body> </html>
update.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> *{ margin:0; padding:0; } body{ font-family:"宋体"; color:#333; font-size:14px; background:#fff;} h3{ text-align:center; line-height:40px;} table{ margin:0 auto; line-height:23px;} table input[type="text"]{ border:1px solid #333; height:18px; line-height:18px; padding-left:6px;} table select{ border:1px solid #333; } </style> <script type="text/javascript"> //根据 id 获取元素 function $(id) { return document.getElementById(id); } //开机加载 window.onload = function() { //为表单注入 onsubmit 事件 document.updatedForm.onsubmit = function() { return check(); }; }; //提交表单前验证 function check() { var sname = $("sname"); var birthday = $("birthday"); var telephone = $("telephone"); var email = $("email"); if ("" == sname.value || "" == birthday.value|| "" == telephone.value|| "" == email.value) { alert("姓名,生日,电话和E-mail不能为空"); return false; } var regEmail = /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/; if(regEmail.test(email.value)==false){ alert("电子邮箱格式不正确,请重新输入"); return false; } return true; } </script> <title>修改学员信息</title> </head> <body> <h3>修改学员信息</h3> <s:form action="updated" method="post" name="updatedForm"> <table> <tr> <td><input type="hidden" name="student.id" value="<s:property value='student.id'/>"/>姓名</td> <td><input type="text" name="student.sname" id="sname" value="<s:property value='student.sname'/>" /></td> </tr> <tr> <td>性别</td> <td> <s:if test='student.gender =="男"'> <input type="radio" value="男" name="student.gender" checked="checked" />男 <input type="radio" value="女" name="student.gender" />女 </s:if> <s:else> <input type="radio" value="男" name="student.gender" />男 <input type="radio" value="女" name="student.gender" checked="checked" />女 </s:else> </td> </tr> <tr> <td>生日</td> <td><input type="text" name="student.birthday" id="birthday" value="<s:date name='student.birthday' format='yyyy-MM-dd' />" /></td> </tr> <tr> <td>电话</td> <td><input type="text" name="student.telephone" id="telephone" value="<s:property value='student.telephone'/>" /></td> </tr> <tr> <td>E-mail</td> <td><input type="text" name="student.email" id="email" value="<s:property value='student.email'/>" /></td> </tr> <tr> <td>班级</td> <td> <select name="classId"> <s:iterator value="classesList"> <s:if test="student.classes.id == id"> <option value="<s:property value='id'/>" selected="selected"><s:property value="cname"/></option> </s:if> <s:else> <option value="<s:property value='id'/>"><s:property value="cname"/></option> </s:else> </s:iterator> </select> </td> </tr> <tr><td colspan="2" style="text-align:center"><input type="submit" value="保存" /> <input type="reset" value="重置" /></td></tr> </table> </s:form> </body> </html>