buttonshowaction.java

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

JAVA
95
字号
package hospital.Controller.Actions.GeneralFunction;

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

public class ButtonShowAction extends Action {
    private String showType = "";
    private String pageName = "";
    private String menuID = "";
    private String userID = "";

    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(30);

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

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

            //创建按钮列表
            createButtonList(stmt, listButtonItems);

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

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

        returnPageParameters(request, listButtonItems);

        return mapping.findForward(pageName);
    }

    private void setPropertyToOrginate() {
        showType = "";
        pageName = "";
        menuID = "";
        userID="";
    }

    private void createButtonList(Statement stmt, ArrayList listButtonItems) throws SQLException {
        ResultSet rs = null;
        String sql = "";
        if (pageName.equals("upbutton")) {
            sql = "select 按钮名称 from sys按钮表 where 所属界面类型='" + showType + "' order by 按钮编号";
        } else if (pageName.equals("downbutton")) {
            //sql = "select 按钮名称 from sys按钮表,sys菜单按钮表 where sys按钮表.按钮编号=sys菜单按钮表.按钮编号 and sys菜单按钮表.菜单编号='" + menuID + "'";
            sql = "select 按钮名称 from sys按钮表 where 按钮编号 in " +
                  "(" +
                      "select 按钮编号 from sys菜单按钮表 where 菜单编号='" + menuID + "' and 按钮编号 in " +
                      "(" +
                          "select 按钮编号 from sys角色按钮表 where 角色编号 in " +
                          "(" +
                              "select 角色编号 from sys用户角色表 where 用户编号='"+userID+"' " +
                          ")" +
                      ")" +
                  ")";

        }
        System.out.println(sql);
        rs = stmt.executeQuery(sql);
        while (rs.next()) {
            listButtonItems.add(rs.getString("按钮名称"));
        }
        rs.close();
    }

    private void initPageParameters(ActionForm form, HttpServletRequest request) throws Exception {
        setPropertyToOrginate();
        showType = request.getParameter("showType");
        showType = URLDecoder.decode(showType.replace('!', '%'), "UTF-8");
        pageName = request.getParameter("pagename");
        menuID = request.getParameter("menuID");
        userID = request.getParameter("userID");
    }

    private void returnPageParameters(HttpServletRequest request, ArrayList listButtonItems) {
        request.setAttribute("listButtonItems", listButtonItems);
    }
}

⌨️ 快捷键说明

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