buttonlistaction.java

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

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

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

public class ButtonListAction extends Action {
    String roleNo = "";
    String successFlag = "";

    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 listButtonItems = new ArrayList();
        StringBuffer checkedButtonItems = new StringBuffer(200);

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

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

            createButtonItems(stmt, listButtonItems);

            checkButtonItems(stmt, checkedButtonItems);

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

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

        returnPageParameters(request, listButtonItems, checkedButtonItems);
        return mapping.findForward("buttonlist");
    }

    private void setPropertyToOrginate() {
        roleNo = "";
        successFlag = "";
    }

    private void initPageParameters(ActionForm form, HttpServletRequest request) {
        setPropertyToOrginate();
        roleNo = request.getParameter("roleNo");
        successFlag = (String) request.getAttribute("successFlag");
        if (successFlag == null) {
            successFlag = "0";
        }
    }

    private void createButtonItems(Statement stmt, ArrayList listButtonItems) throws SQLException {
        //查询字段为空和NULL的值
        String sql = "SELECT * FROM sys按钮表 WHERE ISNULL(所属界面类型,'') + '' = '' order by 按钮名称";
        /*String sql = "select sys菜单按钮表.菜单编号,sys菜单表.name,sys按钮表.按钮编号,sys按钮表.按钮名称 " +
                     "from sys按钮表,sys菜单按钮表,sys菜单表 " +
                     "where sys按钮表.按钮编号=sys菜单按钮表.按钮编号 and sys菜单表.menuID=sys菜单按钮表.菜单编号 " +
                     "order by sys菜单表.menuID";*/

        System.out.println(sql);
        ResultSet rs = stmt.executeQuery(sql);

        while (rs.next()) {
            String[] contentRow = new String[2];
            contentRow[0] = rs.getString("按钮编号");
            contentRow[1] = rs.getString("按钮名称");
            listButtonItems.add(contentRow);
        }

        rs.close();
    }

    private void checkButtonItems(Statement stmt, StringBuffer checkedMenuItems) throws SQLException {
        String sql = "select 按钮编号 from sys角色按钮表 where 角色编号='" + roleNo + "' order by 按钮编号";
        ResultSet rs = stmt.executeQuery(sql);
        while (rs.next()) {
            checkedMenuItems.append(rs.getString(1) + ",");
        }
        checkedMenuItems.trimToSize();
        rs.close();
    }

    private void returnPageParameters(HttpServletRequest request, ArrayList listButtonItems, StringBuffer checkedButtonItems) {
        request.setAttribute("roleNo", roleNo);
        request.setAttribute("successFlag", successFlag);
        request.setAttribute("listButtonItems", listButtonItems);
        request.setAttribute("checkedButtonItems", checkedButtonItems.toString());
    }
}

⌨️ 快捷键说明

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