rolelistaction.java

来自「医院信息系统(Hospital Information System」· Java 代码 · 共 117 行

JAVA
117
字号
package hospital.Controller.Actions.UserRole;

import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
import hospital.Foundation.DataFixing;

public class RoleListAction extends Action {
    private String roleName = ""; //新角色的名称
    private String successFlag = ""; //新角色是否能够保存成功
    private String saveOrDelete = ""; //表示是保存还是删除

    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {

        String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hospital";
        String userName = "sa";
        String userPwd = "";
        Connection dbConn;

        ArrayList listRoleItems = new ArrayList();

        try {
            Class.forName(driverName);
            dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            Statement stmt = dbConn.createStatement();

            //初始化页面的所有参数
            initPageParameters(form, request);

            if (saveOrDelete.equals("new")) {
                saveRoleItem(stmt);
            } else if (saveOrDelete.equals("delete")) {
                deleteRoleItem(stmt);
            }

            createRoleItems(stmt, listRoleItems);

            stmt.close();
            dbConn.close();

        } catch (Exception ex) {
            ex.printStackTrace();
        }

        returnPageParameters(request, listRoleItems);
        return mapping.findForward("rolelist");
    }

    private void setPropertyToOrginate() {
        roleName = "";
        successFlag = "";
        saveOrDelete = "";
    }

    private void initPageParameters(ActionForm form, HttpServletRequest request) {
        setPropertyToOrginate();
        roleName = DataFixing.trimNULL(request.getParameter("roleName"));
        saveOrDelete = DataFixing.trimNULL(request.getParameter("saveOrDelete"));
    }

    private void saveRoleItem(Statement stmt) {
        ResultSet rs = null;
        String sql = "select * from sys角色表 where 角色名称='" + roleName + "'";
        System.out.println(sql);
        try {
            rs = stmt.executeQuery(sql);
            if (rs.next()) {
                successFlag = "0"; //为0表示输入的角色名称重复
            } else {
                sql = "insert into sys角色表 (角色名称) values ('" + roleName + "')";
                stmt.executeUpdate(sql);
                successFlag = "1"; //为1表示保存成功
            }
            rs.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
            successFlag = "-1"; //为-1表示保存失败
        }
    }

    private void deleteRoleItem(Statement stmt) {
        String sql = "delete from sys角色表 where 角色名称='" + roleName + "'";
        System.out.println(sql);
        try {
            stmt.executeUpdate(sql);
            successFlag = "1"; //为1表示保存或者删除成功
        } catch (SQLException ex) {
            ex.printStackTrace();
            successFlag = "-1"; //为-1表示保存或者删除失败
        }
    }


    private void createRoleItems(Statement stmt, ArrayList listRoleItems) throws Exception {
        ResultSet rs = null;
        String sql = "select * from sys角色表 order by 角色名称";
        System.out.println(sql);
        rs = stmt.executeQuery(sql);
        while (rs.next()) {
            String[] contentRow = new String[2];
            contentRow[0] = rs.getString("角色编号");
            contentRow[1] = rs.getString("角色名称");
            listRoleItems.add(contentRow);
        }
        rs.close();
    }

    private void returnPageParameters(HttpServletRequest request, ArrayList listRoleItems) {
        request.setAttribute("newRoleName", roleName);
        request.setAttribute("successFlag", successFlag);
        request.setAttribute("saveOrDelete", saveOrDelete);
        request.setAttribute("listRoleItems", listRoleItems);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?