因为这是一个简单的管理系统,主页非常的烂,但是能用,先写一个主页的jsp页面名为,index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
基于Struts2+Hibernate的学生信息管理系统实例,可对学生信息进行增、删、改、查!
点此进入
当我们点击 点此进入时会调用lookMessageAction方法
我们配置一下struts2的配置文件,这是配置完所有的Action后的代码,
/student/lookMessage.jsp /student/index.jsp lookMessageAction /student/addMessage.jsp /student/updateMessage.jsp /student/findMessage.jsp lookMessageAction /student/updateMessage.jsp lookMessageAction /student/deleteMessage.jsp
在studentAction包下新建LookMessageAction.java.当我们的
先是通过继承于ServletRequest的接口HttpServletRequest取得request对象,然后通过dao层得到一个数据列表,然后通过setAttribute()方法把相应属性设置
package studentAction;
import Dao.StudentDao;
import com.opensymphony.xwork2.ActionSupport;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
public class LookMessageAction extends ActionSupport{
private HttpServletRequest request;
private String message="input";
public String execute() throws Exception{
request=ServletActionContext.getRequest();
StudentDao dao=new StudentDao();
List list=dao.findAllInfo();
request.getSession().setAttribute("count", list.size());
request.getSession().setAttribute("allInfo", list);
message="success";
return message;
}
}
下面来写一个lookMessage.jsp,在页面显示学生信息的页面,此页面有几个链接,分别链接到不同的页面。然后通过getAttribute()方法获取count的值,即学生的总数、然后用同样的方法获取全部信息的一个列表。再通过JS代码一一把学生信息显示到页面上。
<%@page contentType="text/html" pageEncoding="UTF-8" import="java.util.ArrayList,PO.Stuinfo"%>
<%@taglib prefix="s" uri="/struts-tags"%>
查看学生信息
添加学生信息
修改学生信息
删除学生信息
你要查询的数据表中共有<%=request.getSession().getAttribute("count")%>人
| 记录条数 | 学号 | 姓名 | 性别 | 年龄 | 体重 |
|---|---|---|---|---|---|
| 暂无学生信息! | |||||
| <%=i+1%> | <%=info.getId()%> | <%=info.getName()%> | <%=info.getSex()%> | <%=info.getAge()%> | <%=info.getWeight()%> |
当我们点击index.jsp页面的添加学生信息的时候,就会转入相应的页面。写一个addMessage.jsp.此页面中表单对应的是addMessageAction方法中的execute()方法
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
查看学生信息
添加学生信息
修改学生信息
删除学生信息
添加学生信息
新建一个AddMessageAction.java。大多都是一些set/get方法。切记每个get方法中的参数一定要于对应jsp页面textfield中name中的值一样。不然就无法传值
我们实用validate()方法验证我们jsp中的数据。然后info()方法把填入的数据封装为一个学生对象返回。并且在execute()方法用dao层把数据添加到数据库、
package studentAction;
import Dao.StudentDao;
import PO.Stuinfo;
import com.opensymphony.xwork2.ActionSupport;
import java.util.List;
import javax.swing.JOptionPane;
public class AddMessageAction extends ActionSupport{
private String id;
private String name;
private String sex;
private int age;
private float weight;
private String message="input";
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
public void validate(){
if(this.getId()==null||this.getId().length()==0){
addFieldError("id","学号不允许为空!");
}else{
StudentDao dao=new StudentDao();
List list=dao.findInfo("id", this.getId());
if(!list.isEmpty()){
addFieldError("id","学号已存在!");
}
}
if(this.getName()==null||this.getName