⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 roleaction.java

📁 hibernate应用测试,初学hibernate 的会员可以看看.
💻 JAVA
字号:
package com.action;

import org.apache.struts.action.*;
import java.io.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.List;
import java.sql.SQLException;

import com.bean.ClientTable;
import com.tool.pagetool.*;
import com.tool.QueryStrCreator;
import com.tool.LogTableWriter;
import com.dao.RoleUrlDAO;
import com.bean.RoleUrl;
import com.bean.RoleUrlItem;
import com.dao.RoleUrlItemDAO;
import java.util.Vector;

public class RoleAction extends Action {
    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws Exception {
        request.setCharacterEncoding("gb2312");
        response.setContentType("text/html;charset=gb2312");

        String flag = request.getParameter("flag");
        String target = "";
        ActionErrors actionErrors = new ActionErrors();
        if (flag.equals("add")) { //添加权限
            String urlName = request.getParameter("roleName");
            String[] urls = request.getParameterValues("urls2");
            try {
                RoleUrlDAO.startTransation();
                int lastRoleId = RoleUrlDAO.getLastId();
                RoleUrl roleUrl = new RoleUrl();
                roleUrl.setDelFlag(0);
                roleUrl.setMenuFlag(0);
                roleUrl.setUrlId(lastRoleId + 1);
                roleUrl.setUrlName(urlName);
                roleUrl.setUrlPath("");
                RoleUrlDAO.insertRoleUrl(roleUrl);

                int lastUrlItemId = RoleUrlItemDAO.getLastId();
                for (int i = 0; i < urls.length; i++) {
                    RoleUrlItem roleUrlItem = new RoleUrlItem();
                    roleUrlItem.setDelFlag(0);
                    roleUrlItem.setRoleItemId(lastUrlItemId + 1 + i);
                    roleUrlItem.setUrlId(lastRoleId + 1);
                    roleUrlItem.setUrlPath(urls[i]);
                    RoleUrlItemDAO.insertRoleUrlItem(roleUrlItem);
                }
                RoleUrlDAO.commit();
                ActionError actionError = new ActionError(
                        "errors.addSuccese");
                actionErrors.add("addGroupSuccese", actionError);
                saveErrors(request, actionErrors);
//                request.getSession().setAttribute("modifyRoleWriteJs", null);

            } catch (Exception e) {
                e.printStackTrace();
                RoleUrlDAO.rollback();
                ActionError actionError = new ActionError(
                        "errors.generally.failed", e.getMessage());
                actionErrors.add("addClientSuccese", actionError);
                saveErrors(request, actionErrors);
            }
            target = "addRoleUrl";
        } else if (flag.equals("forModify")) { //跳到修改权限
            writeJs(request);//将权限列表写到js文件中
            target = "modifyRoleUrl";
        } else if (flag.equals("modify")) { //修改权限名
            String roleIdStr = request.getParameter("roleName"); //前台roleName传来的值是roleId
            String[] rolePathArray = request.getParameterValues("urls2");
            String newRoleName = request.getParameter("newRoleName");
            if (roleIdStr == null)return mapping.
                    findForward("modifyRoleUrl");

            try {
                int roleId = new Integer(roleIdStr).intValue();
//                System.out.println("roleId="+roleId);
                if (rolePathArray == null) {//删除当前URLID的全部PATH
                    RoleUrl tmp = new RoleUrl();
                    tmp.setUrlId(roleId);
                    RoleUrlItemDAO.realDeleteByRoleId(tmp);
//                    request.getSession().setAttribute("modifyRoleWriteJs", null);
                    writeJs(request);//重写js的权限列表
                    return mapping.
                            findForward("modifyRoleUrl");
                }
                RoleUrlItemDAO.startTransation();
                RoleUrl roleUrl = (RoleUrl) RoleUrlDAO.selectRoleUrlByurlId(
                        roleId);
                if (newRoleName != null && !newRoleName.equals(""))
                    roleUrl.setUrlName(newRoleName);
                if (roleUrl.getUrlPath() == null) roleUrl.setUrlPath("");
                RoleUrlDAO.updateRoleUrl(roleUrl);
                RoleUrlItemDAO.realDeleteByRoleId(roleUrl); //先删除当前权限所有的PATH
                //将所先的PATH添加到当前“权限名”
                int lastRoleItemId = RoleUrlItemDAO.getLastId();
                for (int i = 0; i < rolePathArray.length; i++) {
                    RoleUrlItem roleItem = new RoleUrlItem();
                    roleItem.setDelFlag(0);
                    roleItem.setRoleItemId(lastRoleItemId + i + 1);
                    roleItem.setUrlId(roleId);
                    roleItem.setUrlPath(rolePathArray[i]);
                    RoleUrlItemDAO.insertRoleUrlItem(roleItem);
                }
                RoleUrlItemDAO.commit();
                request.getSession().setAttribute("modifyRoleWriteJs", null);
                writeJs(request);//重写js的权限列表
                ActionError actionError = new ActionError(
                        "errors.addSuccese");
                actionErrors.add("addGroupSuccese", actionError);
                saveErrors(request, actionErrors);

            } catch (Exception e) {
                e.printStackTrace();
                RoleUrlItemDAO.rollback();
                ActionError actionError = new ActionError(
                        "errors.generally.failed", e.getMessage());
                actionErrors.add("addClientSuccese", actionError);
                saveErrors(request, actionErrors);
            }
            target = "modifyRoleUrl";
        }
        return mapping.findForward(target);
    }

    /**
     * 成生权限列表js
     * @param request HttpServletRequest
     * @param allRole List
     * @param allRoleItem List
     * @throws Exception
     */
    private void writeJs(HttpServletRequest request
            ) throws Exception {
        HttpSession session = request.getSession();
//        Object obj = session.getAttribute("modifyRoleWriteJs");
//        if (obj != null)return;//如果已经写了,则退出
        List allRole=null;
        List allRoleItem=null;
        allRole = (List)session.getAttribute("allRole");
        allRoleItem = (List)session.getAttribute("allRoleItem");
        String urlIdStr=(String)request.getParameter("roleName");
        System.out.println("urlIdStr="+urlIdStr);
        if((allRole==null&&allRoleItem==null)||urlIdStr!=null) {
            allRole = RoleUrlDAO.selectAllRoleUrl();
            allRoleItem = RoleUrlItemDAO.selectAllRoleUrlItem();
            session.setAttribute("allRole",allRole);
            session.setAttribute("allRoleItem",allRoleItem);
        }
        int urlId =-1;
        if(urlIdStr==null) return;
        List roleItems = new Vector();
        try{
            urlId = Integer.parseInt(urlIdStr);
            for(int i=0;i<allRoleItem.size();i++){
                RoleUrlItem roleUrlItem = (RoleUrlItem) allRoleItem.get(i);
                if(roleUrlItem.getUrlId()==urlId) roleItems.add(roleUrlItem);
            }
            System.out.println("urlId="+urlId);
            request.setAttribute("RoleIdInger",new Integer(urlId));
            request.setAttribute("roleItems",roleItems);
        }catch(Exception e){
            e.printStackTrace();
            throw e;
        }
//        String realPath = this.servlet.getServletContext().getRealPath("/");
//        realPath += "\\manager\\roleNameAndroleItemList.js";
//        String writeStr = "// JavaScript Document\n";
//        writeStr += "var roleId = new Array();\n" +
//                "var roleName = new Array();\n" +
//                "var role = new Array();\n" +
//                "var roleUrlId = new Array();\n" +
//                "var roleItemId = new Array();\n" +
//                "var roleItemPath = new Array();\n" +
//                "var roleItem = new Array();\n\n";
//        for (int i = 0; i < allRole.size(); i++) {
//            RoleUrl roleUrl = (RoleUrl) allRole.get(i);
//            writeStr += "roleId[" + i + "]=" + roleUrl.getUrlId() + ";\n" +
//                    "roleName[" + i + "]='" + roleUrl.getUrlName() + "';\n";
//        }
//        writeStr += "\n";
//        for (int j = 0; j < allRoleItem.size(); j++) {
//            RoleUrlItem roleUrlItem = (RoleUrlItem) allRoleItem.get(j);
//            writeStr += "roleUrlId[" + j + "]=" + roleUrlItem.getUrlId() +
//                    ";\n" +
//                    "roleItemId[" + j + "]=" + roleUrlItem.getRoleItemId() +
//                    ";\n" +
//                    "roleItemPath[" + j + "]='" + roleUrlItem.getUrlPath() +
//                    "';\n";
//        }
//        writeStr += "\n" +
//                "role[0]=roleId;\n" +
//                "role[1]=roleName;\n" +
//                "roleItem[0]=roleUrlId;\n" +
//                "roleItem[1]=roleItemId;\n" +
//                "roleItem[2]=roleItemPath;\n\n";
//
//        java.io.FileWriter fileWriter = new FileWriter(realPath);
//        fileWriter.write(writeStr);
//        fileWriter.flush();
//        fileWriter.close();
//        session.setAttribute("modifyRoleWriteJs", "true");
    }
}

⌨️ 快捷键说明

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