蜗牛―Javaweb之简易学生管理系统(二)(一)

2014-11-24 07:25:56 · 作者: · 浏览: 0

因为这是一个简单的管理系统,主页非常的烂,但是能用,先写一个主页的jsp页面名为,index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib  prefix="s" uri="/struts-tags"%>


    
        
  
        <s:text name="基于SH学生信息管理-起始页"/>
    
    
        
  
            
   




基于Struts2+Hibernate的学生信息管理系统实例,可对学生信息进行增、删、改、查!


点此进入

当我们点击 点此进入时会调用lookMessageAction方法

我们配置一下struts2的配置文件,这是配置完所有的Action后的代码, 中,当调用方法成功后,如果返回值与name中的字符串相同,就会跳转相应的页面



  
    
   
    
    
     
     
      /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.当我们的 不指定特定的方法时,默认执行一个返回值为string的extends方法。此类继承与ActionSupport类,代码相当简单。

先是通过继承于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"%>


    
        
  
        <s:text name="学生信息管理系统-查看"/>
    
    
        
  
        
   

查看学生信息 添加学生信息 修改学生信息 删除学生信息





你要查询的数据表中共有<%=request.getSession().getAttribute("count")%>人
<% ArrayList list=(ArrayList)session.getAttribute("allInfo"); if(list.isEmpty()){ %> <% }else{ for(int i=0;i <% } } %>
记录条数 学号 姓名 性别 年龄 体重
暂无学生信息!
<%=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" %>


    
        
  
        <s:text name="学生信息管理系统-增加"/>
    
    
        
  
            
   

查看学生信息 添加学生信息 修改学生信息 删除学生信息


添加学生信息
新建一个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