大数据正式41之汇通项目

大数据正式41之汇通项目

先睹为快

  • 登录页面
  • 系统管理

  • 部门管理
  • 用户管理
  • 角色管理
  • 模块管理

数据库

  • 数据库
  • 表展示
    • 总设计
    • 具体结构
      • 部门表
      • 模块表
      • 角色-模块表
      • 角色表
      • 角色-用户表
      • 用户信息表
      • 用户表
  • 具体sql

    /*
    SQLyog Ultimate - MySQL GUI v8.2 
    MySQL - 5.6.24 : Database - ht
    *********************************************************************
    */
    
    
    /*!40101 SET NAMES utf8 */;
    
    /*!40101 SET SQL_MODE=''*/;
    
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    CREATE DATABASE /*!32312 IF NOT EXISTS*/`ht` /*!40100 DEFAULT CHARACTER SET utf8 */;
    
    USE `ht`;
    
    /*Table structure for table `dept_p` */
    
    DROP TABLE IF EXISTS `dept_p`;
    
    CREATE TABLE `dept_p` (
      `DEPT_ID` varchar(40) NOT NULL,
      `PARENT_ID` varchar(40) DEFAULT NULL COMMENT '自关联,多对一',
      `DEPT_NAME` varchar(50) DEFAULT NULL,
      `STATE` int(11) DEFAULT NULL COMMENT '1启用0停用',
      `CREATE_BY` varchar(40) DEFAULT NULL,
      `CREATE_DEPT` varchar(40) DEFAULT NULL,
      `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `UPDATE_BY` varchar(40) DEFAULT NULL,
      `UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      PRIMARY KEY (`DEPT_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `dept_p` */
    
    insert  into `dept_p`(`DEPT_ID`,`PARENT_ID`,`DEPT_NAME`,`STATE`,`CREATE_BY`,`CREATE_DEPT`,`CREATE_TIME`,`UPDATE_BY`,`UPDATE_TIME`) values ('0','--无上级--','551杀神俱乐部',1,NULL,NULL,'2018-01-08 12:52:39',NULL,'0000-00-00 00:00:00'),('01','0','法师部',1,NULL,NULL,'2018-01-08 12:52:59',NULL,'0000-00-00 00:00:00'),('02','0','打野部',1,NULL,NULL,'2018-01-08 12:53:19',NULL,'0000-00-00 00:00:00'),('03','0','射手部',1,NULL,NULL,'2018-01-08 12:54:10',NULL,'0000-00-00 00:00:00');
    
    /*Table structure for table `module_p` */
    
    DROP TABLE IF EXISTS `module_p`;
    
    CREATE TABLE `module_p` (
      `MODULE_ID` varchar(40) NOT NULL,
      `PARENT_ID` varchar(40) DEFAULT NULL COMMENT '父模块ID',
      `NAME` varchar(100) DEFAULT NULL,
      `CTYPE` int(11) DEFAULT NULL COMMENT '1主菜单/2左侧菜单/3按钮',
      `STATE` int(11) DEFAULT NULL COMMENT '1启用0停用',
      `ORDER_NO` int(11) DEFAULT NULL,
      `REMARK` varchar(100) DEFAULT NULL,
      `CREATE_BY` varchar(40) DEFAULT NULL,
      `CREATE_DEPT` varchar(40) DEFAULT NULL,
      `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `UPDATE_BY` varchar(40) DEFAULT NULL,
      `UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      PRIMARY KEY (`MODULE_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `module_p` */
    
    insert  into `module_p`(`MODULE_ID`,`PARENT_ID`,`NAME`,`CTYPE`,`STATE`,`ORDER_NO`,`REMARK`,`CREATE_BY`,`CREATE_DEPT`,`CREATE_TIME`,`UPDATE_BY`,`UPDATE_TIME`) values ('048bc420-b63b-4c46-a7f4-67eb2915d441','b152749f-af17-42c4-96fb-028041e6c442','历史购销合同查询',NULL,1,NULL,'货运管理',NULL,NULL,'2018-01-09 18:44:29',NULL,'0000-00-00 00:00:00'),('1caefd74-d26a-44c5-a1bc-91fa18ff753f','f9ded96d-aafa-46b2-b4c3-efe18336f5e4','合同查询',NULL,1,NULL,'货运管理-合同查询',NULL,NULL,'2018-01-09 18:41:51',NULL,'0000-00-00 00:00:00'),('22192cf2-3cbe-4ee2-a1e3-62fe015c9241','b152749f-af17-42c4-96fb-028041e6c442','用户管理',NULL,1,NULL,'系统管理-用户管理',NULL,NULL,'2018-01-08 13:38:51',NULL,'0000-00-00 00:00:00'),('317d4c8a-5079-4e79-b324-c4d0f0072d48','453f46e8-f7cb-4621-afac-64185169c7d0','系统代码',NULL,1,NULL,'基础信息',NULL,NULL,'2018-01-09 18:45:13',NULL,'0000-00-00 00:00:00'),('433c572b-0987-4e5c-a382-8c6a68262fa7','b152749f-af17-42c4-96fb-028041e6c442','角色管理',NULL,1,NULL,'系统管理-角色管理',NULL,NULL,'2018-01-08 13:39:19',NULL,'0000-00-00 00:00:00'),('453f46e8-f7cb-4621-afac-64185169c7d0','--无上级--','基础信息',NULL,1,NULL,'基础信息模块',NULL,NULL,'2018-01-08 13:43:21',NULL,'0000-00-00 00:00:00'),('50989970-a6c2-4bab-b131-9810e8194dcf','b152749f-af17-42c4-96fb-028041e6c442','部门管理',NULL,1,NULL,'系统管理-部门管理',NULL,NULL,'2018-01-08 13:37:48',NULL,'0000-00-00 00:00:00'),('5a8b2fb9-8f1c-4103-8cc8-0a2fe74d0870','f9ded96d-aafa-46b2-b4c3-efe18336f5e4','出口报运',NULL,1,NULL,'货运管理-出口报运',NULL,NULL,'2018-01-09 18:42:43',NULL,'0000-00-00 00:00:00'),('6c49a9bc-6406-4f40-91d0-ff38cafaaf4d','b152749f-af17-42c4-96fb-028041e6c442','模块管理',NULL,1,NULL,'系统管理-模块管理',NULL,NULL,'2018-01-08 13:39:52',NULL,'0000-00-00 00:00:00'),('89f15873-e069-418b-b53a-8f41ddae30b0','f9ded96d-aafa-46b2-b4c3-efe18336f5e4','出口跟踪',NULL,1,NULL,'货运管理-出口跟踪',NULL,NULL,'2018-01-09 18:43:16',NULL,'0000-00-00 00:00:00'),('954c86cd-475a-4baf-a70d-83c499ecc94e','453f46e8-f7cb-4621-afac-64185169c7d0','厂家信息',NULL,1,NULL,'基础信息-厂家信息',NULL,NULL,'2018-01-09 18:45:58',NULL,'0000-00-00 00:00:00'),('99bd1061-798e-4010-8da3-329575df5d3f','9e98ed09-a136-45b6-acda-2744b13bfa41','我的常用功能',NULL,1,NULL,'系统首页-我的常用功能',NULL,NULL,'2018-01-09 18:32:21',NULL,'0000-00-00 00:00:00'),('9e98ed09-a136-45b6-acda-2744b13bfa41','--无上级--','系统首页',NULL,1,NULL,'系统首页模块',NULL,NULL,'2018-01-08 13:43:35',NULL,'0000-00-00 00:00:00'),('a12c467b-55f4-4f54-9a93-8e2d8e279494','9e98ed09-a136-45b6-acda-2744b13bfa41','用户设定',NULL,1,NULL,'系统首页-用户设定',NULL,NULL,'2018-01-09 18:33:02',NULL,'0000-00-00 00:00:00'),('b152749f-af17-42c4-96fb-028041e6c442','--无上级--','系统管理',NULL,1,NULL,'系统管理模块',NULL,NULL,'2018-01-08 13:32:34',NULL,'0000-00-00 00:00:00'),('ecf5560d-9f0b-43e2-afc5-0e6814814752','f9ded96d-aafa-46b2-b4c3-efe18336f5e4','出货表',NULL,1,NULL,'货运管理-出货表',NULL,NULL,'2018-01-09 18:41:14',NULL,'0000-00-00 00:00:00'),('f15a824d-dd8c-4f3e-bc96-3e8a99d011ad','9e98ed09-a136-45b6-acda-2744b13bfa41','个人工作台',NULL,1,NULL,'系统首页-个人工作台',NULL,NULL,'2018-01-09 18:31:35',NULL,'0000-00-00 00:00:00'),('f9ded96d-aafa-46b2-b4c3-efe18336f5e4','--无上级--','货运管理',NULL,1,NULL,'货运管理模块',NULL,NULL,'2018-01-08 13:31:34',NULL,'0000-00-00 00:00:00'),('fbde3d1a-ee83-4070-868c-ad7d2d3af40f','f9ded96d-aafa-46b2-b4c3-efe18336f5e4','购销合同',NULL,1,NULL,'货运管理-购销合同',NULL,NULL,'2018-01-09 18:40:38',NULL,'0000-00-00 00:00:00');
    
    /*Table structure for table `role_module_p` */
    
    DROP TABLE IF EXISTS `role_module_p`;
    
    CREATE TABLE `role_module_p` (
      `MODULE_ID` varchar(40) DEFAULT NULL,
      `ROLE_ID` varchar(40) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `role_module_p` */
    
    insert  into `role_module_p`(`MODULE_ID`,`ROLE_ID`) values ('453f46e8-f7cb-4621-afac-64185169c7d0','3'),('9e98ed09-a136-45b6-acda-2744b13bfa41','3'),('b152749f-af17-42c4-96fb-028041e6c442','3'),('22192cf2-3cbe-4ee2-a1e3-62fe015c9241','3'),('433c572b-0987-4e5c-a382-8c6a68262fa7','3'),('50989970-a6c2-4bab-b131-9810e8194dcf','3'),('6c49a9bc-6406-4f40-91d0-ff38cafaaf4d','3'),('f9ded96d-aafa-46b2-b4c3-efe18336f5e4','3'),('453f46e8-f7cb-4621-afac-64185169c7d0','1'),('9e98ed09-a136-45b6-acda-2744b13bfa41','1'),('b152749f-af17-42c4-96fb-028041e6c442','1'),('22192cf2-3cbe-4ee2-a1e3-62fe015c9241','1'),('f9ded96d-aafa-46b2-b4c3-efe18336f5e4','1'),('453f46e8-f7cb-4621-afac-64185169c7d0','2'),('9e98ed09-a136-45b6-acda-2744b13bfa41','2'),('b152749f-af17-42c4-96fb-028041e6c442','2'),('22192cf2-3cbe-4ee2-a1e3-62fe015c9241','2');
    
    /*Table structure for table `role_p` */
    
    DROP TABLE IF EXISTS `role_p`;
    
    CREATE TABLE `role_p` (
      `ROLE_ID` varchar(40) NOT NULL,
      `NAME` varchar(30) DEFAULT NULL,
      `REMARKS` varchar(100) DEFAULT NULL,
      `ORDER_NO` int(11) DEFAULT NULL,
      `CREATE_BY` varchar(40) DEFAULT NULL,
      `CREATE_DEPT` varchar(40) DEFAULT NULL,
      `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `UPDATE_BY` varchar(40) DEFAULT NULL,
      `UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      PRIMARY KEY (`ROLE_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `role_p` */
    
    insert  into `role_p`(`ROLE_ID`,`NAME`,`REMARKS`,`ORDER_NO`,`CREATE_BY`,`CREATE_DEPT`,`CREATE_TIME`,`UPDATE_BY`,`UPDATE_TIME`) values ('1','输出型法师','以一当十',NULL,'白鹏',NULL,'2018-01-08 13:07:16',NULL,'0000-00-00 00:00:00'),('2','打野刺客','专杀脆皮',NULL,'白鹏',NULL,'2018-01-08 13:07:56',NULL,'0000-00-00 00:00:00'),('3','CEO','公司ceo',NULL,'白鹏',NULL,'2018-01-09 18:18:29',NULL,'0000-00-00 00:00:00');
    
    /*Table structure for table `role_user_p` */
    
    DROP TABLE IF EXISTS `role_user_p`;
    
    CREATE TABLE `role_user_p` (
      `ROLE_ID` varchar(40) DEFAULT NULL,
      `USER_ID` varchar(40) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `role_user_p` */
    
    insert  into `role_user_p`(`ROLE_ID`,`USER_ID`) values ('1','1'),('2','2'),('3','666');
    
    /*Table structure for table `user_info_p` */
    
    DROP TABLE IF EXISTS `user_info_p`;
    
    CREATE TABLE `user_info_p` (
      `USER_INFO_ID` varchar(40) NOT NULL,
      `NAME` varchar(20) DEFAULT NULL,
      `CARD_NO` varchar(20) DEFAULT NULL,
      `MANAGER_ID` varchar(40) DEFAULT NULL,
      `JOIN_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `SALARY` decimal(8,2) DEFAULT NULL,
      `BIRTHDAY` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      `GENDER` char(1) DEFAULT NULL,
      `STATION` varchar(20) DEFAULT NULL,
      `TELEPHONE` varchar(100) DEFAULT NULL,
      `USER_LEVEL` char(1) DEFAULT NULL COMMENT '4-普通用户 3-部门经理 2-副总 1-总经理 0-超级管理员',
      `REMARK` varchar(600) DEFAULT NULL,
      `ORDER_NO` int(11) DEFAULT NULL,
      `CREATE_BY` varchar(40) DEFAULT NULL COMMENT '登录人编号',
      `CREATE_DEPT` varchar(40) DEFAULT NULL COMMENT '登录人所属部门编号',
      `CREATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      `UPDATE_BY` varchar(40) DEFAULT NULL,
      `UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      PRIMARY KEY (`USER_INFO_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `user_info_p` */
    
    insert  into `user_info_p`(`USER_INFO_ID`,`NAME`,`CARD_NO`,`MANAGER_ID`,`JOIN_DATE`,`SALARY`,`BIRTHDAY`,`GENDER`,`STATION`,`TELEPHONE`,`USER_LEVEL`,`REMARK`,`ORDER_NO`,`CREATE_BY`,`CREATE_DEPT`,`CREATE_TIME`,`UPDATE_BY`,`UPDATE_TIME`) values ('1','安琪拉','140108199412301212','--无--','2018-01-08 13:01:06','88888.00','1994-12-30 00:00:00','女','法输出','1104561823','4','输出型选手',1,NULL,NULL,'0000-00-00 00:00:00','白鹏','2018-01-08 00:00:00'),('2','李白','140108199512301212','--无--','2018-01-08 13:06:15','66666.00','1995-12-30 00:00:00','男','刺客','1141600388','4','专杀脆皮',2,NULL,NULL,'0000-00-00 00:00:00','白鹏','2018-01-08 00:00:00'),('4','孙尚香','1401081992321','-1','2018-01-09 10:08:04','88866.00','2018-01-09 10:08:04','女','射手输出','1353456687','4','射手超强输出',4,NULL,NULL,'0000-00-00 00:00:00',NULL,'0000-00-00 00:00:00'),('666','白鹏','140108199412306666','--无--','2018-01-09 18:51:30','65535.00','2018-01-09 00:00:00','男','CEO','15034031272','0','管理所有',666,NULL,NULL,'0000-00-00 00:00:00','白鹏','2018-01-09 00:00:00');
    
    /*Table structure for table `user_p` */
    
    DROP TABLE IF EXISTS `user_p`;
    
    CREATE TABLE `user_p` (
      `USER_ID` varchar(40) NOT NULL,
      `DEPT_ID` varchar(40) DEFAULT NULL,
      `USERNAME` varchar(50) DEFAULT NULL,
      `PASSWORD` varchar(64) DEFAULT NULL,
      `STATE` int(11) DEFAULT NULL COMMENT '1启用0停用',
      `CREATE_BY` varchar(40) DEFAULT NULL,
      `CREATE_DEPT` varchar(40) DEFAULT NULL,
      `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `UPDATE_BY` varchar(40) DEFAULT NULL,
      `UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      PRIMARY KEY (`USER_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    /*Data for the table `user_p` */
    
    insert  into `user_p`(`USER_ID`,`DEPT_ID`,`USERNAME`,`PASSWORD`,`STATE`,`CREATE_BY`,`CREATE_DEPT`,`CREATE_TIME`,`UPDATE_BY`,`UPDATE_TIME`) values ('1','01','anqila','573b1ca71b2cd0a8793cb31bf4c41721',1,'白鹏',NULL,'2018-01-09 11:46:50',NULL,'0000-00-00 00:00:00'),('2','02','libai','3e187c08c33ac48153b6b99cc5493a06',1,'白鹏',NULL,'2018-01-09 11:47:11',NULL,'0000-00-00 00:00:00'),('4','03','sunshangxiang','2b4264aaf551aacf93e734ba25356cbd',1,'白鹏',NULL,'2018-01-09 10:08:04',NULL,'0000-00-00 00:00:00'),('666','0','baipeng','82e873b1b7af77e9078f9989d13dea05',1,'白鹏',NULL,'2018-01-09 18:51:30',NULL,'0000-00-00 00:00:00');
    
    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
    

项目结构

关键代码

  • main

    • java

      • com

        • peng

          • controller
            • DeptController
            • HomeController
            • LoginController
            • ModuleController
            • RoleController
            • UserController
          • mapper
            • DeptMapper
            • ModuleMapper
            • RoleMapper
            • UserInfoMapper
            • UserMapper
          • pojo
            • BaseEntity
            • Dept
            • Module
            • Role
            • User
            • UserInfo
          • service
            • DeptService
            • DeptServiceImpl
            • ModuleService
            • ModuleServiceImpl
            • RoleService
            • RoleServiceImpl
            • UserInfoService
            • UserInfoServiceImpl
            • UserService
            • UserServiceImpl
          • shiro

            • AuthMatcher

              package com.peng.shiro;
              
              import org.apache.shiro.authc.AuthenticationInfo;
              import org.apache.shiro.authc.AuthenticationToken;
              import org.apache.shiro.authc.UsernamePasswordToken;
              import org.apache.shiro.authc.credential.SimpleCredentialsMatcher;
              import org.apache.shiro.crypto.hash.Md5Hash;
              
              /**
               * 加密
               * 
               * @author Administrator
               *
               */
              public class AuthMatcher extends SimpleCredentialsMatcher {
                  // 对原材料的密码进行加密
                  @Override
                  public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {
                      // 对原材的密码进行加密
                      UsernamePasswordToken upToken = (UsernamePasswordToken) token;
                      String password = String.valueOf(upToken.getPassword());
                      Md5Hash m5 = new Md5Hash(password, upToken.getUsername(), 3);
                      upToken.setPassword(m5.toString().toCharArray());
                      return super.doCredentialsMatch(upToken, info);
              
                  }
              }
              
            • AuthRealm

              package com.peng.shiro;
              
              import java.util.List;
              
              import org.apache.shiro.authc.AuthenticationException;
              import org.apache.shiro.authc.AuthenticationInfo;
              import org.apache.shiro.authc.AuthenticationToken;
              import org.apache.shiro.authc.SimpleAuthenticationInfo;
              import org.apache.shiro.authc.UsernamePasswordToken;
              import org.apache.shiro.authz.AuthorizationInfo;
              import org.apache.shiro.authz.SimpleAuthorizationInfo;
              import org.apache.shiro.realm.SimpleAccountRealm;
              import org.apache.shiro.subject.PrincipalCollection;
              import org.springframework.beans.factory.annotation.Autowired;
              import org.springframework.beans.factory.annotation.Qualifier;
              
              import com.peng.pojo.User;
              import com.peng.service.UserService;
              
              /**
               * 原材料
               * 
               * @author Administrator
               *
               */
              public class AuthRealm extends SimpleAccountRealm {
                  @Autowired
                  @Qualifier("userService")
                  private UserService userService;
              
                  // 登录原材料
                  @Override
                  protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
                      // 需要给安全中心提供登录校验的原材料【用户登录的信息】【正确的信息(数据库中的数据)】
                      UsernamePasswordToken upToken = (UsernamePasswordToken) token;
                      // 得到正确信息
                      User user = userService.findByUsername(upToken.getUsername());
                      // 登录的原材料信息[principal正确信息 credentials用户密码 realName材料类的名称]
                      AuthenticationInfo info = new SimpleAuthenticationInfo(user, user.getPassword(), this.getName());
                      return info;
                  }
              
                  // 权限材料
                  @Override
                  protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
                      // 真正的用户
                      User user = (User) principals.getPrimaryPrincipal();
                      List<String> user_permissions = userService.findModuleNamesByUserId(user.getUserId());
                      SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
                      info.addStringPermissions(user_permissions);
                      return info;
                  }
              }
              
    • resourse

      • mybatis

        • mappers

          • DeptMapper.xml
          • ModuleMapper.xml
          • RoleMapper.xml
          • userInfoMapper.xml
          • UserMapper.xml

            <?xml version="1.0" encoding="UTF-8" ?>
            <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
            <mapper namespace="com.peng.mapper.UserMapper">
                <!-- 查询所有的用户 -->
                <resultMap type="User" id="userRM" autoMapping="true">
                    <id column="user_id" property="userId"></id>
                    <association property="userInfo" javaType="UserInfo">
                        <id column="user_info_id" property="userInfoId"></id>
                        <result column="name" property="name"></result>
                        <result column="card_no" property="cardNo"></result>
                        <result column="join_date" property="joinDate"></result>
                        <result column="salary" property="salary"></result>
                        <result column="birthday" property="birthday"></result>
                        <result column="gender" property="gender"></result>
                        <result column="station" property="station"></result>
                        <result column="telephone" property="telephone"></result>
                        <result column="user_level" property="userLevel"></result>
                        <result column="remark" property="remark"></result>
                        <result column="order_no" property="orderNo"></result>
                        <result column="create_by" property="createBy"></result>
                        <result column="create_dept" property="createDept"></result>
                        <result column="create_time" property="createTime"></result>
                        <result column="update_by" property="updateBy"></result>
                        <result column="update_time" property="updateTime"></result>
            
                        <association property="managerUserInfo" javaType="UserInfo">
                            <id column="m_id" property="userInfoId"></id>
                            <result column="m_name" property="name"></result>
                        </association>
                    </association>
                    <association property="dept" javaType="Dept">
                        <id column="d_id" property="deptId"></id>
                        <result column="dept_name" property="deptName"></result>
                    </association>
                </resultMap>
                <!-- 查询所有用户信息 -->
                <select id="findAll" resultMap="userRM">
                    SELECT * FROM
                    (SELECT *FROM
                    (SELECT user_id,dept_id,username,PASSWORD,state FROM user_p) u
                    LEFT
                    JOIN
                    (SELECT * FROM
                    user_info_p uip1
                    LEFT JOIN
                    (SELECT user_info_id
                    m_id,NAME m_name FROM user_info_p)uip2
                    ON uip1.manager_id=uip2.m_id) ui
                    ON u.user_id=ui.user_info_id) uii
                    LEFT JOIN
                    (SELECT dept_id
                    d_id,dept_name FROM dept_p) dp
                    ON uii.dept_id=dp.d_id
                </select>
            
                <!-- 通过id更改状态 :这里的参数deptIds直接写在collection -->
                <update id="changeState">
                    update user_p set state=#{state} where user_id in
                    <foreach collection="userIds" item="id" open="(" close=")"
                        separator=",">#{id}
                    </foreach>
                </update>
                <!-- 批量删除user:记得把该user对应的userInfo信息也删除掉 -->
                <delete id="deleteUserByIds">
                    delete from user_p where user_id in
                    <foreach collection="array" item="id" open="(" close=")"
                        separator=",">#{id}
                    </foreach>
                </delete>
                <!-- 保存用户信息 -->
                <insert id="saveUser">
                    INSERT INTO user_p
                    (user_id,dept_id,username,PASSWORD,state,create_by)
                    VALUES(#{userId},#{dept.deptId},#{username},#{password},#{state},#{createBy})
                </insert>
                <!-- 查询单个用户信息 -->
                <select id="findOneById" resultMap="userRM">
                    select * from(SELECT * FROM
                    (SELECT *FROM
                    (SELECT user_id,dept_id,username,PASSWORD,state FROM
                    user_p) u
                    LEFT
                    JOIN
                    (SELECT * FROM
                    user_info_p uip1
                    LEFT JOIN
                    (SELECT
                    user_info_id
                    m_id,NAME m_name FROM user_info_p)uip2
                    ON
                    uip1.manager_id=uip2.m_id) ui
                    ON u.user_id=ui.user_info_id) uii
                    LEFT
                    JOIN
                    (SELECT dept_id
                    d_id,dept_name FROM dept_p) dp
                    ON
                    uii.dept_id=dp.d_id) uall where
                    uall.user_id=#{userId}
                </select>
                <!-- 更新用户 -->
                <update id="updateUser">
                    update user_p
                    <set>
                        <if test="dept.deptId!=null">dept_id=#{dept.deptId},</if>
                        <if test="username!=null">username=#{username},</if>
                        <if test="password!=null">password=#{password},</if>
                        <if test="state!=null">state=#{state},</if>
                        <if test="updateBy!=null">update_by=#{updateBy},</if>
                        <if test="updateTime!=null">update_time=#{updateTime},</if>
                    </set>
                    where user_id=#{userId}
                </update>
                <!-- 登录查询 -->
                <select id="login" resultType="User">
                    select * from user_p where
                    username=#{userName} and password=#{password}
                </select>
                <!-- 查询单个用户信息 -->
                <select id="findByUsername" resultMap="userRM">
                    select * from(SELECT *
                    FROM
                    (SELECT *FROM
                    (SELECT user_id,dept_id,username,PASSWORD,state FROM
                    user_p) u
                    LEFT
                    JOIN
                    (SELECT * FROM
                    user_info_p uip1
                    LEFT JOIN
                    (SELECT
                    user_info_id
                    m_id,NAME m_name FROM user_info_p)uip2
                    ON
                    uip1.manager_id=uip2.m_id) ui
                    ON u.user_id=ui.user_info_id) uii
                    LEFT
                    JOIN
                    (SELECT dept_id
                    d_id,dept_name FROM dept_p) dp
                    ON
                    uii.dept_id=dp.d_id) uall where
                    uall.username=#{username}
                </select>
                <!-- 查询用户所有的权限 -->
                <select id="findModuleNamesByUserId" resultType="java.lang.String">
                    SELECT DISTINCT NAME FROM module_p WHERE module_id IN((SELECT module_id FROM
                    role_module_p m WHERE role_id IN(SELECT role_id FROM role_user_p WHERE
                    user_id=#{userId})))
            
                </select>
            </mapper>
            
        • sqlMapConfig.xml

          <?xml version="1.0" encoding="UTF-8" ?>
          <!DOCTYPE configuration
          PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
          "http://mybatis.org/dtd/mybatis-3-config.dtd">
          <configuration>
              <settings>
                  <!-- 开启驼峰自动映射 -->
                  <setting name="mapUnderscoreToCamelCase" value="true" />
                  <!--二级缓存的总开关 -->
                  <setting name="cacheEnabled" value="false" />
              </settings>
          </configuration>                
          
      • spring

        • applicationContext.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:context="http://www.springframework.org/schema/context"
              xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
              http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
              http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd ">
              <!-- 扫描包 -->
              <context:component-scan base-package="com.peng"></context:component-scan>
              <!-- 扫描注解 -->
              <context:annotation-config></context:annotation-config>
              <!-- 配置文件 -->
              <bean
                  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                  <property name="location" value="classpath:/jdbc_config.properties"></property>
              </bean>
              <!--c3p0 -->
              <bean id="c3p0dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
                  <property name="driverClass" value="${jdbc.driver}"></property>
                  <property name="jdbcUrl" value="${jdbc.url}"></property>
                  <property name="user" value="${jdbc.user}"></property>
                  <property name="password" value="${jdbc.password}"></property>
                  <property name="minPoolSize" value="3"></property>      <!--最小连接数 -->
                  <property name="initialPoolSize" value="5"></property>  <!-- 初始化连接数 -->
                  <property name="acquireIncrement" value="3"></property> <!-- 每次增长的个数 -->
              </bean>
          </beans>
          
        • applicationContext-mybatis.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:context="http://www.springframework.org/schema/context"
              xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
              http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
              http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd ">
              <!-- sql的会话工厂 -->
              <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
                  <!-- 引入数据源 -->
                  <property name="dataSource" ref="c3p0dataSource"></property>
                  <!-- 引入核心配置文件 -->
                  <property name="configLocation" value="classpath:/mybatis/sqlMapConfig.xml"></property>
                  <!-- 别名包 -->
                  <property name="typeAliasesPackage" value="com.peng.pojo" />
                  <!-- 引入映射文件 -->
                  <property name="mapperLocations" value="classpath:/mybatis/mappers/*.xml"></property>
              </bean>
              <!-- Mapper接口的扫描器 -->
              <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                  <property name="basePackage" value="com.peng.mapper"></property>
              </bean>
          </beans>
          
        • applicationContext-shiro.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:context="http://www.springframework.org/schema/context"
              xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
              http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
              http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd ">
              <!-- 扫描包 -->
              <context:component-scan base-package="com.peng"></context:component-scan>
              <!-- 扫描注解 -->
              <context:annotation-config></context:annotation-config>
              <!-- 1.安全管理器 -->
              <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager ">
                  <!-- 3.将原材料注入 -->
                  <property name="realm" ref="authRealm"></property>
              </bean>
              <!-- 2.原材料 -->
              <bean class="com.peng.shiro.AuthRealm" id="authRealm">
                  <!-- 5.给原材料加密 -->
                  <property name="credentialsMatcher" ref="authMatcher"></property>
              </bean>
              <!-- 4.密码加密 -->
              <bean class="com.peng.shiro.AuthMatcher" id="authMatcher"></bean>
              <!-- 6.权限认证观察器 -->
              <bean
                  class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"
                  id="advisor">
                  <!-- 7.注入安全管理器 -->
                  <property name="securityManager" ref="securityManager"></property>
              </bean>
              <!-- 8.shiro的过滤工厂 -->
              <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
                  <!-- 9.注入安全管理器 -->
                  <property name="securityManager" ref="securityManager"></property>
                  <!-- 10.登录地址 (注:默认放行) -->
                  <property name="loginUrl" value="/tologin.action"></property>
                  <!-- 11.配置拦截和放行的地址 -->
                  <property name="filterChainDefinitions">
                      <value>
                          <!-- anon:放行;authc拦截 -->
                          <!-- loginUrl默认放行 -->
                          /login.action=anon
                          <!-- /*代表所有请求;/**代表所有请求和资源文件 -->
                          /staticfile/**=anon
                          <!-- 拦截所有(除去登录相关的和静态资源) -->
                          /**=authc
                      </value>
                  </property>
              </bean>
          </beans>
          
        • applicationContext-transaction.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
              xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
              http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
                      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
              http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd ">
              <!--配置事务 -->
              <tx:annotation-driven transaction-manager="transactionManager" />
              <bean id="transactionManager"
                  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
                  <property name="dataSource" ref="c3p0dataSource"></property>
              </bean>
          </beans>
          
        • applicationContext-mvc-config.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:context="http://www.springframework.org/schema/context"
              xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
              http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
              http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
              http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd ">
              <!-- 扫描包 -->
              <context:component-scan base-package="com.peng"></context:component-scan>
              <!-- 扫描注解 -->
              <context:annotation-config></context:annotation-config>
              <!-- mvc注解 -->
              <mvc:annotation-driven></mvc:annotation-driven>
              <!-- 资源解析器:前后缀 -->
              <bean
                  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                  <property name="prefix" value="/WEB-INF/pages">
                  </property>
                  <property name="suffix" value=".jsp"></property>
              </bean>
              <!-- 文件上传资源解析器 -->
              <bean id="multipartResolver"
                  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
                  <property name="defaultEncoding" value="utf-8"></property>
                  <property name="maxUploadSize" value="10485760000"></property>
                  <property name="maxInMemorySize" value="40960"></property>
              </bean>
              <!-- 处理静态资源被“/”所拦截的问题 -->
              <mvc:default-servlet-handler />
          </beans>
          
      • jdbc_config.properties

        jdbc.user=root
        jdbc.password=root
        jdbc.url=jdbc\:mysql\://localhost\:3306/ht?zeroDateTimeBehavior=convertToNull
        jdbc.driver=com.mysql.jdbc.Driver
        
      • log4j.properties

        log4j.rootLogger=DEBUG, Console
        #Console
        log4j.appender.Console=org.apache.log4j.ConsoleAppender
        log4j.appender.Console.layout=org.apache.log4j.PatternLayout
        log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
        log4j.logger.java.sql.ResultSet=INFO
        log4j.logger.org.apache=INFO
        log4j.logger.java.sql.Connection=DEBUG
        log4j.logger.java.sql.Statement=DEBUG
        log4j.logger.java.sql.PreparedStatement=DEBUG            
        
    • webapp

      • staticfile【静态资源略】
      • WEB-INF

        • pages

          • basicinfo

            • left.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../baselist.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title></title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/left.css" media="all"/>
              </head>
              
              <body id="left_frame">
              <div class="PositionFrame_black" id="PositionFrame"></div>
              
              
              <!-- begin1  -->
              <div id="sidebar" class="sidebar">
                  <div class="sidebar_t">
                      <div class="sidebar_t_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_t_r"></div>
                  </div>
                      <div class="panel">
                      <div class="panel_icon"><img src="${ctx}/staticfile/skin/default/images/icon/document_into.png" /></div>
                      <div class="panel-header">
                      <div class="panel-title">基础代码管理</div>
                      <div class="panel-content">
                          <ul>
                              <li>
                                  <a href="#" id="aa_1" onclick="linkHighlighted(this)">系统代码</a>
                              </li>                   
                              <li><a href="${ctx}/basicinfo/factoryAction_list" onclick="linkHighlighted(this)" target="main" id="aa_1">厂家信息</a></li>
                          </ul>
                      </div>
                      </div>
                  </div>
                  <div class="sidebar_t">
                      <div class="sidebar_b_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_b_r"></div>
                  </div>  
              </div>    
              
              
              </body>
              </html>
              
            • main.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title>模块介绍</title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/main.css" media="all"/>
              </head>
              
              <body>
              <form>
              <div class="textbox"></div>
              
                  <div class="modelDiv">
              
                      <table class="modelTable" cellspacing="1">
                          <tr>
                              <td colspan="2" class="modelTitle">基础信息管理模块介绍</td>
                          </tr>
              
                          <tr>
                              <td colspan="2" class="subModelTitle">基础代码管理</td>
                          </tr>           
                          <tr>
                              <td class="model_intro_left" width="169">系统代码:</td>
                              <td class="model_intro_right" width="81%">统一管理系统中的基础代码, 相比“基础代码”它结果将形成多级树型结构。</td>
                          </tr>       
              
                          <tr>
                              <td colspan="2" class="subModelTitle">基础信息管理</td>
                          </tr>  
                          <tr>
                              <td class="model_intro_left">厂家信息:</td>
                              <td class="model_intro_right">在购销合同中货物和附件中可选择对应的厂家。</td>
                          </tr>       
              
                          <tfoot>
                              <tr>
                                  <td colspan="2" class="tableFooter"></td>
                              </tr>
                          </tfoot>
                      </table>
              
                  </div>
              </form>
              </body>
              
              </html>                        
              
          • cargo

            • left.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../baselist.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title></title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/left.css" media="all"/>
              </head>
              
              <body id="left_frame">
              <div class="PositionFrame_black" id="PositionFrame"></div>
              
              
              <!-- begin1  -->
              <div id="sidebar" class="sidebar">
                  <div class="sidebar_t">
                      <div class="sidebar_t_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_t_r"></div>
                  </div>
                      <div class="panel">
                      <div class="panel_icon"><img src="${ctx}/staticfile/skin/default/images/icon/cubes.png"/></div>
                      <div class="panel-header">
                      <div class="panel-title">货运管理</div>
                      <div class="panel-content">
                          <ul>
                              <li><a href="${ctx}/cargo/contractAction_list" onclick="linkHighlighted(this)" target="main" id="aa_1">购销合同</a></li>
                              <li><a href="${ctx}/cargo/outProductAction_toedit" onclick="linkHighlighted(this)" target="main" id="aa_1">出货表</a></li>
                              <li><a href="${ctx}/cargo/export/exportAction_contractList" onclick="linkHighlighted(this)" target="main" id="aa_1">合同查询</a></li>
                              <li><a href="${ctx}/cargo/export/exportAction_list" onclick="linkHighlighted(this)" target="main" id="aa_1">出口报运</a></li>
                              <li><a href="${ctx}/cargo/export/exportAction_ws" onclick="linkHighlighted(this)" target="main" id="aa_1">出口跟踪</a></li>
                              <li><a href="${ctx}/cargo/export/contractHisAction_list" onclick="linkHighlighted(this)" target="main" id="aa_1">历史购销合同查询</a></li>
                          </ul>
                      </div>
                      </div>
                  </div>
                  <div class="sidebar_t">
                      <div class="sidebar_b_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_b_r"></div>
                  </div>  
              </div>  
              
              
              </body>
              </html>
              
            • main.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title>模块介绍</title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/main.css" media="all"/>
              </head>
              
              <body>
              <form>
              <div class="textbox"></div>
              
                  <div class="modelDiv">
              
                      <table class="modelTable" cellspacing="1">
                          <tr>
                              <td colspan="2" class="modelTitle">货运模块介绍</td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">购销合同</td>
                              <td class="model_intro_right">客户签单后,公司向厂家下达购销合同,包括货物的具体要求和交期。合同按不同厂家打印购销合同单,附件单独打印,由公司驻当地销售人员分发到各工厂。<br>
                              归档:标识彻底完成的项目,方便统计。在报运时也不能在选这些合同。<br>
                              </td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">出货表</td>
                              <td class="model_intro_right">根据合同和指定的船期月份,统计当月的出货情况。<br></td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">出口报运单</td>
                              <td class="model_intro_right">根据购销合同制定出口商品报运单。报运时可以将多个购销合同形成一单报运;也可以只走部分货物。<br>
                              分批走货:合同可以多个一起报运; 而一个合同可以分多次走货; 根据合同和合同货物的走货状态可以查看合同的走货情况。
                              <!-- 修改走货状态:1)合同新增货物、修改货物 2)报运货物修改、删除货物、增补货物、删除报运 -->
                              </td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">HOME装箱单</td>
                              <td class="model_intro_right">根据出口报运单制定HOME装箱单,先制作HOME装箱单给客户看,客人同意,则直接制定相应装箱单;如有调整,则重新复制修改出口报运单,可能拆成多个报运。<br></td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">装箱单</td>
                              <td class="model_intro_right">根据出口报运单制定装箱单,填写发票号、发票时间,以及客人等相关信息。<br></td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">委托书</td>
                              <td class="model_intro_right">根据装箱制定海运或空运委托书。<br></td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">发票</td>
                              <td class="model_intro_right">根据装箱制定发票。<br></td>
                          </tr>
                          <tr>
                              <td class="subModelTitle" nowrap>财务出口报运单</td>
                              <td class="model_intro_right">根据报运制定财务出口报运单。<br></td>
                          </tr>   
              
                          <tfoot>
                              <tr>
                                  <td colspan="2" class="tableFooter"></td>
                              </tr>
                          </tfoot>
                      </table>
              
                  </div>
              </form>
              </body>
              
              </html>                        
              
          • home

            • fmain.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <html>
              <head>
              <title>国际物流汇通商贸</title>
              </head>
              <frameset rows="125,*" name="topFrameset" border="0">
                  <frame name="top_frame" scrolling="no"  target="middleFrameSet" src="title.action"> 
                  <frameset cols="202,*" height="100%" name="middle" frameborder="no" border="0" framespacing="0">
                      <frame name="leftFrame" class="leftFrame" target="main" scrolling="no" src="home/Left.action" />
                      <frame name="main" class="rightFrame" src="home/Main.action" />
                  </frameset>
              </frameset>
              
              <noframes>
              <body>
                  <p>此网页使用了框架,但您的浏览器不支持框架。</p>
              </body>
              </noframes>
              
              </html>                        
              
            • left.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title></title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/left.css" media="all"/>
              
                  <script language="javascript" src="${ctx}/staticfile/js/common.js"></script>
                  <script language="javascript" src="${ctx}/staticfile/js/ajax/setFastMenu.js"></script>
                  <script language="javascript" src="${ctx}/staticfile/js/pngfix_map.js"></script>
                  <script type="text/javascript" src="${ctx}/staticfile/components/jquery-ui/jquery-1.2.6.js"></script>
                  <script type="text/javascript" src="${ctx}/staticfile/skin/default/js/toggle.js"></script>
              
              
                  <script language="javascript">
                      $().ready(function(){
                          $(fastMenu).hide();
                          //document.getElementById('aa_3').click();  //默认打开我的留言板页面
                      });
              
                      function showMenu( who ){
                          if(who=="fastMenu"){
                              $(fastMenu).show();
                              $(customerMenu).hide();
                          }else if(who=="customerMenu"){
                              $(customerMenu).show();
                              $(fastMenu).hide();
                          }
                      }
                  </script>
              
              
              </head>
              
              <body id="left_frame">
              <div class="PositionFrame_black" id="PositionFrame"></div>
              
              
              <div id="sidebar" class="sidebar">
                  <div class="sidebar_t">
                      <div class="sidebar_t_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_t_r"></div>
                  </div>
                     <div class="panel">
                         <div class="panel_icon"><img src="${ctx}/staticfile/skin/default/images/icon/user2.png" /></div>
                         <div class="panel-header">
                          <div class="panel-title">个人工作台</div>
                          <div class="panel-content">
                              <ul>
                                  <li><a href="${ctx}/staticfile/tomain.action?modelName=home" target="main" id="aa_3" onclick="linkHighlighted(this)">我的留言板</a></li>
                                  <li><a href="${ctx}/staticfile/home/workflow/tasklist.action" target="main" id="aa_2" onclick="linkHighlighted(this)">我的代办任务</a></li>
                                  <li><a href="${ctx}/staticfile/baseinfo/leavebill/list.action" target="main" id="aa_1" onclick="linkHighlighted(this)">请假单管理</a></li>
                              </ul>
                          </div>
              
                         </div>
                     </div>
                  <div class="sidebar_t">
                      <div class="sidebar_b_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_b_r"></div>
                  </div>
              </div>
              
              
              
              
              
              <div id="sidebar" class="sidebar">  
                  <div class="sidebar_t">
                      <div class="sidebar_t_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_t_r"></div>
                  </div>
                      <div class="panel">
                          <div class="panel_icon"><img src="${ctx}/staticfile/skin/default/images/icon/user1_find.png" /></div>
                          <div class="panel-header">
                              <div class="panel-title">我的常用功能</div>
                                  <div style="margin-top:5px;"></div>
                                  <!-- 以上为永久固定栏目,以下为活动栏目 -->
                          <div style="border-bottom:1px dotted #cee1df;"> 
                           切换:<a href="#" onmousemove="javascript:showMenu('fastMenu');">快捷菜单</a>
                          /
                          <a href="#" onmousemove="javascript:showMenu('customerMenu');">自定义菜单</a>
                          </div>
                                  <div id="fastMenu">
                                  <div class="panel-content"></div><a href="#" class="DelFastMenu"><font color="gray">清除常用功能列表</font></a>
                                  </div>
              
                                  <div id="customerMenu">
                                  <div class="FastMenu"><img src="${ctx}/staticfile/skin/default/images/notice.gif" style="margin-right:5px;" border="0" /><font color="gray">您还没定义您的菜单</font></div>
                                  </div>
                          </div>
                      </div>
                   <div class="sidebar_t">
                      <div class="sidebar_b_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_b_r"></div>
                  </div>    
              </div>
              
              
              <!-- begin1  -->
              <div id="sidebar" class="sidebar">
                  <div class="sidebar_t">
                      <div class="sidebar_t_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_t_r"></div>
                  </div>
                  <div class="panel">
                      <div class="panel_icon"><img src="${ctx}/staticfile/skin/default/images/icon/businessman2.png" /></div>
                      <div class="panel-header">
                      <div class="panel-title">
                      用户设定
                      </div>
              
                      <div class="panel-content">
                          <ul>
                              <li><a href="${ctx}/sysadmin/userAction_toUpdatePassword" id="aa_2" onclick="linkHighlighted(this)" target="main">个人信息修改</a></li>                       
                              <li><a href="#" id="aa_2" onclick="linkHighlighted(this)">系统使用反馈</a></li>                       
                          </ul>
                      </div>
                  </div>
                  </div>
                  <div class="sidebar_t">
                      <div class="sidebar_b_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_b_r"></div>
                  </div>
              </div>
              <!-- end1 -->
              
              </body>
              </html>                        
              
            • main.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <html>
              <head>
                  <title></title>
              <script type="text/javascript" src="${ctx}/staticfile/components/jquery-ui/jquery-1.2.6.js"></script>
              <style> 
                  .curbody{ CURSOR: url(${ctx}/staticfile/images/olmsg/shubiao.ani);background:url(${ctx}/staticfile/images/olmsg/pic738x571.jpg); }
                  .msgcontent{ width:218px;overflow:hidden;word-break:break-all;padding:10px;font-size:14px;color:#339966;font-family:Tahoma;line-height:180%; }
                  .msgcontent p{ text-indent:0px;}
                  .msgcontent ul( margin:0px;}
                  .msgbackcontent{ width:218px;overflow:hidden;word-break:break-all;padding:10px;font-size:14px;color:#339966;font-family:Tahoma;line-height:180%; }
                  .msgbackcontent p{ text-indent:0px;}
                  .msgbackcontent ul( margin:0px;}
                  li{ text-indent:0px;margin:0px;list-style:default; }
              </style>
              
              </head>
              <script language="javascript"> 
              //-- 控制层移动start of script -->
              var Obj='';
              var index=10000;//z-index;
              var color='';
              var str='';
              document.onmouseup=MUp
              document.onmousemove=MMove
              
              function MMove(){
                  if(Obj!=''){
                      document.all(Obj).style.left=event.x-pX;
                      document.all(Obj).style.top=event.y-pY;
                  }
              }
              
              function MUp(){
                  if(Obj!=''){
                      document.all(Obj).releaseCapture();
                      Obj='';
                  }
                  var srcEle = event.srcElement;
              
                  var children = srcEle.children;
                  if(children.length>0){
                      children[1].value = "1";        //isChange
                      children[2].value = event.x-pX;
                      children[3].value = event.y-pY;
                  }
              }
              
              function MDown(objtd,id){
                  Obj=id
                  document.all(Obj).setCapture()
                  pX = event.x-document.all(Obj).style.pixelLeft;
                  pY = event.y-document.all(Obj).style.pixelTop;
              }
              
              //-- 控制层移动end of script -->
              //获得焦点;
              function getFocus(obj)
              {
                     if(obj.style.zIndex!=index)
                     {
                             index = index + 2;
                             var idx = index;
                             obj.style.zIndex=idx;
                             //obj.nextSibling.style.zIndex=idx-1;
                     }
              }
              
              //针对未已阅的、未回复的、工作任务
              function msgrevoke( id ){
                  if(confirm("是否确定要撤销此条信息?")){
                      //_Submit("/home/olmsgRevokeAction.do?flag=revoke&id="+id,null,"撤销");
                  }
              }
              
              //需回复的留言
              function msgback( id ){
                  //_Submit("/home/olmsgUpdateAction.do?flag=back&id="+id,null,"回复");
              }
              
              function msgupdate( id , flag ){
                  if(flag=="read"){
                      if(!confirm("是否确定已阅此条信息?")){
                          return false;
                      }
                  }else if(flag=="accept"){
                      if(!confirm("是否确定接受此任务?")){
                          return false;
                      }
                  }else if(flag=="fail"){
                      if(!confirm("是否确定此任务未完成?")){
                          return false;
                      }
                  }else if(flag=="success"){
                      if(!confirm("是否确定此任务已完成?")){
                          return false;
                      }
                  }else if(flag=="finished"){
                      if(!confirm("是否确定完成?")){
                          return false;
                      }
                  }
                  //_Submit("/home/olmsgUpdateAction.do?flag="+flag+"&id="+id,null,"修改");
              
              }
              
              function msgdel( id ){
                  if(confirm("是否确定要删除此条信息?")){
                      //_Submit("/home/olmsgDeleteAction.do?delId="+id,null,"删除");
                  }
              }
              
              function msgstate( id , flag ){
                  if(flag=="read"){
                      if(!confirm("是否确定已阅此条信息?")){
                          return false;
                      }
                  }else if(flag=="accept"){
                      if(!confirm("是否确定接受此任务?")){
                          return false;
                      }
                  }else if(flag=="fail"){
                      if(!confirm("是否确定此任务未完成?")){
                          return false;
                      }
                  }else if(flag=="success"){
                      if(!confirm("是否确定此任务已完成?")){
                          return false;
                      }
                  }else if(flag=="finished"){
                      if(!confirm("是否确定完成?")){
                          return false;
                      }
                  }
                  //_Submit("/home/olmsgStateAction.do?flag="+flag+"&delId="+id,null,"已阅");
              }
              
              function changRowColor(obj){
                  //obj.removeAttribute("className");
                  //alert(obj.className);
                  //obj.setAttribute("bgcolor","#FFECB0");
                  //obj.sytle.backgroundColor = "#FFECB0";
              }
              
              function removeOverRowColor(obj){
                  //alert(obj.getAttribute("style"));
              }
              
              function killErrors() {
                  return true;
              }
              
              window.onerror = killErrors;
              </script>
              
              <body class="curbody">
              
              <form name="form2">
              <!-- 工具栏部分 ToolBar -->
              <div id="menubar">
              <div id="middleMenubar">
              <div id="innerMenubar">
                  <div id="navMenubar">
              <ul>
              
              <li id="new"><a href="#">新建</a></li>
              <li id="save"><a href="#" title="保存留言窗口的位置信息">位置</a></li>
              
              <li id="stat"><a href="#">历史</a></li>
              
              </ul>
                  </div>
              </div>
              </div>
              </div>
              
              <logic:notEmpty name="olmsgList">
              
              
              
                      <div id='ff8080813d00613e013d0067909e0009' style='position:absolute;left:122px;top:97px;z-index:1001; height:164px;background:none;' onmousedown='getFocus(this)'>
                          <table border=0 cellspacing="0" cellpadding="0" width="220">
                              <tr>
                                  <td style='cursor:move;' onmousedown="MDown(this,'ff8080813d00613e013d0067909e0009')" background="${ctx}/staticfile/images/olmsg/C0FFE51.gif" height="45">
                                      <input type="hidden" name="id" class="input" value="ff8080813d00613e013d0067909e0009" />
                                      <input type="hidden" name="isChange" class="input" value="0" />
                                      <input type="hidden" name="posX" class="input" value="122" />
                                      <input type="hidden" name="posY" class="input" value="97" />
                                      &nbsp;
              
                                  </td>
                              </tr>
                              <tr>
                                  <td style='cursor:move;white-space:nowrap;' width='100%' onmousedown="MDown('ff8080813d00613e013d0067909e0009')" background="${ctx}/staticfile/images/olmsg/C0FFE52.gif" >
                                      <div style="float:left;width:130px;padding-left:7px;font-family:Tahoma;color:gray;font-style : oblique;">
                                          2013-02-22 13:37
                                      </div>
                                      <div style="float:right;width:80px;text-align:right;padding-right:7px;">
              
              
              
              
              
              
              
              
              
              
              
              
              
                                          <a style='cursor:pointer;' title="编辑" onclick="msgupdate('ff8080813d00613e013d0067909e0009','edit')"><img src="${ctx}/staticfile/images/olmsg/doc_edit.gif"/></a>
              
              
              
              
              
              
              
                                          <a style='cursor:pointer;' title="删除" onclick="msgdel('ff8080813d00613e013d0067909e0009')"><img src="${ctx}/staticfile/images/olmsg/doc_del.gif"/></a>
              
              
              
                                      </div>
                                  </td>
                              </tr>
                              <tr>
                                  <td background="${ctx}/staticfile/images/olmsg/C0FFE52.gif">
                                  <div class="msgcontent">
                                  欢迎使用杰管理平台
                                  </div>
              
              
                                  </td>
                              </tr>
                              <tr>
                                  <td id="tagBPic" background="${ctx}/staticfile/images/olmsg/C0FFE53.gif" height="63">
                                      <table border="0" width="100%" cellspacing="0" cellpadding="0">
                                          <tr>
                                              <td width="50" align="center">
                                              <img border="0" src="${ctx}/staticfile/images/olmsg/2.gif">
                                              </td>
                                              <td style="text-align:right;padding-right:8px;" nowrap>
                                              [备忘]
              
              
              
                                               <!-- [回复] -->
              
              
                                                      <!-- [回执] -->
              
              
                                                                  <!-- [撤销原因] -->
              
                                              <!-- state==99[完成] -->
                                              </td>
                                          </tr>
                                      </table>
                                  </td>
                              </tr>
                          </table>
                      </div>
              
              
                      <div id='ff8080813d00613e013d00681494000a' style='position:absolute;left:442px;top:91px;z-index:1002; height:164px;background:none;' onmousedown='getFocus(this)'>
                          <table border=0 cellspacing="0" cellpadding="0" width="220">
                              <tr>
                                  <td style='cursor:move;' onmousedown="MDown(this,'ff8080813d00613e013d00681494000a')" background="${ctx}/staticfile/images/olmsg/FFE7E81.gif" height="45">
                                      <input type="hidden" name="id" class="input" value="ff8080813d00613e013d00681494000a" />
                                      <input type="hidden" name="isChange" class="input" value="0" />
                                      <input type="hidden" name="posX" class="input" value="442" />
                                      <input type="hidden" name="posY" class="input" value="91" />
                                      &nbsp;
              
                                  </td>
                              </tr>
                              <tr>
                                  <td style='cursor:move;white-space:nowrap;' width='100%' onmousedown="MDown('ff8080813d00613e013d00681494000a')" background="${ctx}/staticfile/images/olmsg/FFE7E82.gif" >
                                      <div style="float:left;width:130px;padding-left:7px;font-family:Tahoma;color:gray;font-style : oblique;">
                                          2013-02-22 13:37
                                      </div>
                                      <div style="float:right;width:80px;text-align:right;padding-right:7px;">
              
              
              
              
              
              
              
              
              
              
              
              
              
                                          <a style='cursor:pointer;' title="编辑" onclick="msgupdate('ff8080813d00613e013d00681494000a','edit')"><img src="${ctx}/staticfile/images/olmsg/doc_edit.gif"/></a>
              
              
              
              
              
              
              
                                          <a style='cursor:pointer;' title="删除" onclick="msgdel('ff8080813d00613e013d00681494000a')"><img src="${ctx}/staticfile/images/olmsg/doc_del.gif"/></a>
              
              
              
                                      </div>
                                  </td>
                              </tr>
                              <tr>
                                  <td background="${ctx}/staticfile/images/olmsg/FFE7E82.gif">
                                  <div class="msgcontent">
                                  本系统实现货运企业日常管理<br />
              包括合同、报运、装箱、委托、发票等业务
                                  </div>
              
              
                                  </td>
                              </tr>
                              <tr>
                                  <td id="tagBPic" background="${ctx}/staticfile/images/olmsg/FFE7E83.gif" height="63">
                                      <table border="0" width="100%" cellspacing="0" cellpadding="0">
                                          <tr>
                                              <td width="50" align="center">
                                              <img border="0" src="${ctx}/staticfile/images/olmsg/0.gif">
                                              </td>
                                              <td style="text-align:right;padding-right:8px;" nowrap>
                                              [备忘]
              
              
              
                                               <!-- [回复] -->
              
              
                                                      <!-- [回执] -->
              
              
                                                                  <!-- [撤销原因] -->
              
                                              <!-- state==99[完成] -->
                                              </td>
                                          </tr>
                                      </table>
                                  </td>
                              </tr>
                          </table>
                      </div>
              
              </logic:notEmpty>
              
              
              </form>
              </body>
              </html>
              
            • title.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp"%>
              <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
              <jsp:useBean id="now" class="java.util.Date" />
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
              <title></title>
              
              <!-- 调用样式表 -->
              <link rel="stylesheet" rev="stylesheet" type="text/css"
                  href="${ctx}/staticfile/skin/default/css/default.css" media="all" />
              <link rel="stylesheet" rev="stylesheet" type="text/css"
                  href="${ctx}/staticfile/skin/default/css/title.css" media="all" />
              
              <script type="text/javascript"
                  src="${ctx}/staticfile/components/jquery-ui/jquery-1.2.6.js"></script>
              <script language="javascript" src="${ctx}/js/pngfix_map.js"></script>
              <script language="javascript" src="${ctx}/js/common.js"></script>
              <!-- 调用外部 JavaScript 脚本语言 -->
              
              <script language="javascript">
                  function CustomTitle() {
                      var Me = document.getElementById('memos');
                      var Loin = document.getElementById('logins');
                      var Lout = document.getElementById('logout');
                      Me.onmouseover = function() {
                          document.getElementById('memo').style.background = 'url(${ctx}/staticfile/skin/default/images/title/memo2.gif) no-repeat'
                      };
                      Me.onmouseout = function() {
                          document.getElementById('memo').style.background = 'url(${ctx}/staticfile/skin/default/images/title/memo.gif) no-repeat'
                      };
              
                      Loin.onmouseover = function() {
                          document.getElementById('small_login').style.background = 'url(${ctx}/staticfile/skin/default/images/title/small_login2.gif) no-repeat'
                      };
                      Loin.onmouseout = function() {
                          document.getElementById('small_login').style.background = 'url(${ctx}/staticfile/skin/default/images/title/small_login.gif) no-repeat'
                      };
              
                      Lout.onmouseover = function() {
                          document.getElementById('small_login_out').style.background = 'url(${ctx}/staticfile/skin/default/images/title/login_out2.gif) no-repeat left -55px;'
                      };
                      Lout.onmouseout = function() {
                          document.getElementById('small_login_out').style.background = 'url(${ctx}/staticfile/skin/default/images/title/login_out.gif) no-repeat'
                      };
                  }
              
                  function linkHighlightMenu(obj) {
                      var links = document.getElementsByTagName('span');
                      for (var i = 0; i < links.length; i++) {
                          if (links[i].id.indexOf('topmenu') != -1) {
                              links[i].style.background = 'url("${ctx}/staticfile/skin/default/images/title/li_dot.gif1") no-repeat right 8px';
                              links[i].style.color = '';
                              links[i].style.fontWeight = '';
                              links[i].style.borderTop = '';
                              links[i].style.borderLeft = '';
                              links[i].style.borderRight = '';
                              links[i].style.padding = '';
                          }
                      }
                      obj.style.background = 'url("${ctx}/staticfile/skin/default/images/title/button_bg.jpg") no-repeat';
                      obj.style.color = "#fff";
                      obj.style.fontWeight = 'bold';
                      obj.style.padding = '6px 11x 5px 13px;';
                      obj.blur(); //去掉图片的焦点框,使界面看起来漂亮 updated by tony
                  }
              
                  //sendRequest('000001');    
                  var y = -5; //个人信息栏初始Y坐标
                  var dy = -40; //显示后Y坐标
              
                  function doLoginDiv() {
                      ShowLoginDiv();
                  }
              
                  function HideLoginDiv() {
                      dy = dy - 5;
                      MoveHideLoginDiv();
                  }
                  function MoveHideLoginDiv() {
                      if (dy > -40) {
                          setTimeout("HideLoginDiv()", 10);
                      } else {
                          y = -40;
                          dy = -40;
                      }
                      document.getElementById("userInfo").style.top = dy;
              
                  }
                  function ShowLoginDiv() {
                      y = y + 5;
                      MoveShowLoginDiv();
                  }
                  function MoveShowLoginDiv() {
                      if (y < -5) {
                          setTimeout("ShowLoginDiv()", 10);
                      } else {
                          dy = -5;
                          y = -1
                      }
                      document.getElementById("userInfo").style.top = y;
                  }
                  function ShowFrameDiv(queryString) {
                      return false; //暂时屏蔽
                      top.middle.switches.loading.style.display = 'block';
                      //  top.middle.switches.note_iframe.location.href="../home/empmemo/empMemoExpressCreate.jsp";
                      setTimeout(ShowFrameMain(queryString), 10);
                  }
                  function ShowFrameMain(passValue) {
              
                      var url = "../home/doConsoleListAction.do"; //../home/empMemoCreateAction.do
                      var topFrame = top.middle.switches;
              
                      document.getElementById('PositionFrame').style.display = "block";
                      top.middle.contents.left_frame.style.border = "none";
                      top.middle.contents.left_frame.style.overflow = "hidden";
              
                      topFrame.PositionFrame_main.style.display = "block";
                      topFrame.PositionFrame.style.display = "block";
                      topFrame.PositionFrame_notebook.style.display = 'block';
                      topFrame.PositionFrame_notebook2.style.display = 'none';
                      topFrame.PositionFrame_my_note.style.display = 'block';
                      //topFrame.note_iframe.location.href=url;
                      form1.action = url;
                      form1.method = "post";
                      form1.target = "note_iframe";
                      //          alert(passValue);
                      if (passValue) {
                          form1.innerHTML = '<input type="hidden"  name="passTitle" value="' + passValue[0] + '"/>';
                          form1.innerHTML = form1.innerHTML
                                  + '<input type="hidden"  name="passContent" value="' +passValue[1]+ '"/>';
                      }
                      form1.submit();
              
                      top.middle.contents.PositionFrame.style.display = "block";
                      topFrame.loading.style.display = 'none';
                      topFrame.PositionFrame_main.style.visibility = 'visible';
                      topFrame.visibility.style.display = 'block';
                  }
              
                  function offset(place) {
              
                      var mask = $('#mask');
                      var targetObj = $('#menuContent');
              
                      var maxOffset = targetObj.width() - mask.width();
              
                      var currLeft = targetObj.css('left');
                      //      alert(maxOffset + " " + currLeft);
                      var currLeft = Number(currLeft.substring(0, currLeft.length - 2));
                      if (place == "right" && (0 - currLeft) <= maxOffset) {
                          targetObj.css('left', currLeft - 5);
                      } else if (place == "left" && currLeft < 0) {
                          targetObj.css('left', currLeft + 5);
                      }
              
                  }
                  function periodOffset(thisObj, place) {
                      var intervalId = window.setInterval(function() {
                          offset(place)
                      }, 1);
                      $(thisObj).mouseout(function() {
                          window.clearInterval(intervalId)
                      });
                  }
              
                  function checkDirectionKey() {
                      var mask = $('#mask');
              
                      var bodyWidth = $('body').width();
              
                      //alert(bodyWidth - 450);
                      mask.width(bodyWidth - 250); //450
                      //alert(mask.width());
                      var targetObj = $('#menuContent');
              
                      var maxOffset = targetObj.width() - mask.width();
              
                      var currLeft = targetObj.css('left');
                      //          alert(maxOffset + " " + currLeft);
                      var currLeft = Number(currLeft.substring(0, currLeft.length - 2));
                      //          alert((0-currLeft) <= maxOffset);
                      if (!(0 - currLeft) <= maxOffset || currLeft < 0) {
                          $("#rightKey").show("slow");
                          $("#leftKey").show("slow");
                          if (!isShow) {
                              $("#prompt_div").show("slow", function() {
                                  window.setTimeout(function() {
                                      $("#prompt_div").hide("slow")
                                  }, 10000);
                                  isShow = true;
                              });
                          }
                      } else {
                          $("#rightKey").hide();
                          $("#leftKey").hide();
                          $("#prompt_div").hide();
                      }
                  }
                  var isShow = false;
                  $(function() {
                      window.onresize = checkDirectionKey;
                      $("#rightKey").hide();
                      $("#leftKey").hide();
                      $("#prompt_div").hide();
                      checkDirectionKey();
                  });
              
                  function logout() {
                      return formSubmit("${ctx}/tologinout.action", "_top");
                  }
              
                  function toModule(moduleName) {
                      top.leftFrame.location.href = moduleName + '/Left.action';
                      top.main.location.href = moduleName + '/Main.action';
                      linkHighlightMenu(this);
                  }
              </script>
              
              </head>
              
              <body onSelectStart="return true">
                  <!-- 文档主题部分开始 -->
              
                  <div class="PositionFrame_black" id="PositionFrame"></div>
                  <div id="userInfo" style="z-index: 999;" onclick="HideLoginDiv()"
                      title="点击关闭">
                      <img
                          src="${ctx}/staticfile/skin/default/images/title/avataronline.gif"
                          border="0" style="margin-top: -1px;" /> 您好:<strong>${_CURRENT_USER.userInfo.name}</strong>&nbsp;&nbsp;|
                      您所属单位:<strong> <c:if test="${!empty _CURRENT_USER.dept}">
                          ${_CURRENT_USER.dept.deptName}
                          </c:if>
                      </strong>&nbsp;&nbsp; <img
                          src="${ctx}/staticfile/skin/default/images/title/close.gif"
                          border="0" />
                  </div>
              
                  <a id="memos" style="cursor: pointer;" onclick="toModule('home');"
                      target="_top" title="点击切换到系统首页"><div id="memo" class="memo"
                          title="点击切换到系统首页"></div></a>
                  <a id="logins" style="cursor: pointer;" onclick="doLoginDiv();"
                      title="点击显示您的登录信息"><div id="small_login" class="small_login"
                          title="点击显示您的登录信息"></div></a>
                  <a id="logout" style="cursor: pointer;" onclick="logout();"
                      target="_top" title="点击退出系统"><div id="small_login_out"
                          class="small_login_out" title="点击退出系统"></div></a>
              
                  <div class="headerBg">
                      <div class="top_logo">
                          <div class="navMenu" style="float: left; text-align: left;">
                              <div class="titleDate" style="float: left;">
                                  <fmt:formatDate value="${now}" pattern="yyyy年M月d日 E" />
                              </div>
                              <div style="height: 29px;">
                                  <span id="leftKey" onmouseover="periodOffset(this, 'left')"><img
                                      src="${ctx}/staticfile/skin/default/images/title/left_arrow.png" /></span>
                                  <div class="mavMeau_top"></div>
                                  <div id="mask">
                                      <div id="menuContent">
                                          <span id="topmenu" onclick="toModule('home');">系统首页</span><span
                                              id="tm_separator"></span>
                                          <shiro:hasPermission name="货运管理">
                                              <span id="topmenu" onclick="toModule('cargo');">货运管理</span>
                                          </shiro:hasPermission>
                                          <span id="tm_separator"></span>
                                          <shiro:hasPermission name="基础信息">
                                              <span id="topmenu" onclick="toModule('baseinfo');">基础信息</span>
                                          </shiro:hasPermission>
                                          <span id="tm_separator"> </span>
                                          <shiro:hasPermission name="系统管理">
                                              <span id="topmenu" onclick="toModule('sysadmin');">系统管理</span>
                                          </shiro:hasPermission>
                                      </div>
                                      <span id="rightKey" onmouseover="periodOffset(this, 'right')"><img
                                          src="${ctx}/staticfile/skin/default/images/title/right_arrow.png" /></span>
                                  </div>
                              </div>
                          </div>
                      </div>
              
                      <div id="prompt_div">
                          <img src="${ctx}/staticfile/skin/default/images/title/prompt.png" /><span
                              style="position: absolute; top: 2px; left: 35px; z-index: 99999; width: 100%; color: #FFFFFF; text-align: left;">鼠标指向箭头位置<br />可显示更多菜单项
                          </span>
                      </div>
              
                      <form name="form1" style="display: none;"></form>
                      <%
                          //备忘录等使用
                      %>
              
              </body>
              </html>                        
              
          • stat

            • left.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title></title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/left.css" media="all"/>
              
                  <script language="javascript" src="${ctx}/staticfile/js/common.js"></script>
                  <script language="javascript" src="${ctx}/staticfile/js/ajax/setFastMenu.js"></script>
                  <script language="javascript" src="${ctx}/staticfile/js/pngfix_map.js"></script>
                  <script type="text/javascript" src="${ctx}/staticfile/components/jquery-ui/jquery-1.2.6.js"></script>
                  <script type="text/javascript" src="${ctx}/staticfile/skin/default/js/toggle.js"></script>
              
              
              
              </head>
              
              <body id="left_frame">
              
              
              <!-- begin1  -->
              <div id="sidebar" class="sidebar">
                  <div class="sidebar_t">
                      <div class="sidebar_t_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_t_r"></div>
                  </div>
                  <div class="panel">
                      <div class="panel_icon"><img src="${ctx}/staticfile/skin/default/images/icon/document_chart.png" /></div>
                      <div class="panel-header">
                      <div class="panel-title">
                      统计查询
                      </div>
              
                      <div class="panel-content">
                          <ul>
                              <li><a href="${ctx}/stat/statChartAction_factorySale" onclick="linkHighlighted(this)" target="main" id="aa_1">生产厂家销售情况</a></li>
                              <li><a href="${ctx}/stat/statChartAction_productSale" onclick="linkHighlighted(this)" target="main" id="aa_1">产品销售排行</a></li>
                              <li><a href="${ctx}/stat/statChartAction_onlineInfo" onclick="linkHighlighted(this)" target="main" id="aa_1">系统访问压力图</a></li>                   
              
                              <li><a href="${ctx}/stat/statChartAction_factorySaleEcharts" onclick="linkHighlighted(this)" target="main" id="aa_1">eCharts</a></li>
                              <li><a href="${ctx}/stat/statChartAction_onlineinfoHighCharts" onclick="linkHighlighted(this)" target="main" id="aa_1">highCharts</a></li>
                          </ul>
                      </div>
                  </div>
                  </div>
                  <div class="sidebar_t">
                      <div class="sidebar_b_l"></div>
                      <div class="sidebar_t_c"></div>
                      <div class="sidebar_b_r"></div>
                  </div>
              </div>
              <!-- end1 -->
              
              </body>
              </html>                        
              
            • main.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title>模块介绍</title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/main.css" media="all"/>
              </head>
              
              <body>
              <form>
              <div class="textbox"></div>
              
                  <div class="modelDiv">
              
                      <table class="modelTable" cellspacing="1">
                          <tr>
                              <td colspan="2" class="modelTitle">统计分析介绍</td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">生产厂家销售情况</td>
                              <td class="model_intro_right">和公司合作的生产厂家销售情况饼形图<br>
                              </td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">产品销售排行</td>
                              <td class="model_intro_right">统计公司最畅销的产品是哪些?<br>统计公司最滞销的产品是哪些?</td>
                          </tr>
                          <tr>
                              <td class="subModelTitle">系统访问</td>
                              <td class="model_intro_right">统计系统一天用户访问系统的情况,何时访问频繁,何时访问较少,方便开发人员对系统进行优化。</td>
                          </tr>
              
                          <tfoot>
                              <tr>
                                  <td colspan="2" class="tableFooter"></td>
                              </tr>
                          </tfoot>
                      </table>
              
                  </div>
              </form>
              </body>
              
              </html>                        
              
          • sysadmin

            • dept

              • JDeptCreate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>新增部门</title>
                <script type="text/javascript">
                    //保存错误
                    if ("${save_error}" != "") {
                        alert("${save_error}");
                    }
                </script>
                </head>
                
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('save','_self');this.blur()">新增</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            添加部门
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>部门名称:</td>
                                        <td><input type="text" name="deptName" /></td>
                                    </tr>
                                    <tr>
                                        <td>部门ID:</td>
                                        <td><input type="text" name="deptId" /></td>
                                    </tr>
                                    <tr>
                                        <td>上级部门:</td>
                                        <td><select name="parentDept.deptId">
                                                <option>--无上级--</option>
                                                <c:forEach items="${deptList}" var="dept">
                                                    <option value="${dept.deptId}">${dept.deptName}</option>
                                                </c:forEach>
                                        </select></td>
                                    </tr>
                                    <tr>
                                        <td>部门状态</td>
                                        <td>关闭<input type="radio" name="state" value="0" />开启<input
                                            type="radio" name="state" value="1" /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JDeptList.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>部门列表</title>
                </head>
                <script type="text/javascript">
                    //没有选部门就更新
                    if ("${error_up}" != "") {
                        alert("${error_up}");
                    }
                </script>
                <c:set property="error_up" value="" var="error_up">
                </c:set>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a href="#"
                                                onclick="formSubmit('toview','_self');this.blur();">查看</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('tocreate','_self');this.blur();">新增</a></li>
                                            <li id="update"><a href="#"
                                                onclick="formSubmit('toupdate','_self');this.blur();">修改</a></li>
                                            <li id="delete"><a href="#"
                                                onclick="formSubmit('delete','_self');this.blur();">删除</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('start','_self');this.blur();">启用</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('stop','_self');this.blur();">停用</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            部门列表
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <thead>
                                        <tr>
                                            <td class="tableHeader"><input type="checkbox" name="selid"
                                                onclick="checkAll('deptId',this)"></td>
                                            <td class="tableHeader">序号</td>
                                            <td class="tableHeader">编号</td>
                                            <td class="tableHeader">上级</td>
                                            <td class="tableHeader">名称</td>
                                            <td class="tableHeader">状态</td>
                                        </tr>
                                    </thead>
                                    <tbody class="tableBody">
                
                                        <c:forEach items="${deptList}" var="d" varStatus="status">
                                            <tr class="odd" onmouseover="this.className='highlight'"
                                                onmouseout="this.className='odd'">
                                                <td><input type="checkbox" name="deptId"
                                                    value="${d.deptId}" /></td>
                                                <td>${status.index+1}</td>
                                                <td>${d.deptId}</td>
                                                <td>${d.parentDept.deptName}</td>
                                                <td>${d.deptName}</td>
                                                <td><c:if test="${d.state==1}">
                                                        <a href="stop?deptId=${d.deptId}"><font color="green">启用</font></a>
                                                    </c:if> <c:if test="${d.state==0}">
                                                        <a href="start?deptId=${d.deptId}"><font color="red">停用</font></a>
                                                    </c:if></td>
                                            </tr>
                                        </c:forEach>
                
                                    </tbody>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JDeptUpdate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>更新部门</title>
                </head>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('update','_self');this.blur()">修改</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            更新部门
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>部门编号</td>
                                        <td><input type="text" name="deptId" value="${dept.deptId}"
                                            readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>部门名称:</td>
                                        <td><input type="text" name="deptName"
                                            value="${dept.deptName}" /></td>
                                    </tr>
                                    <tr>
                                        <td>上级部门:</td>
                                        <td><select name="parentDept.deptId">
                                                <option>--无上级--</option>
                                                <c:forEach items="${deptList}" var="d">
                                                    <option value="${d.deptId}"
                                                        ${dept.parentDept.deptId==d.deptId ? 'selected="selected"':""}>${d.deptName}</option>
                                                </c:forEach>
                                        </select></td>
                                    </tr>
                                    <tr>
                                        <td>部门状态</td>
                                        <td>关闭<input type="radio" name="state" value="0"
                                            ${dept.state==0 ? 'checked="checked"':""} />开启<input
                                            type="radio" name="state" value="1"
                                            ${dept.state==1 ? 'checked="checked"':""} /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JDeptView.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>查看部门</title>
                </head>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            部门详情
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>部门编号</td>
                                        <td><input type="text" name="deptId" value="${dept.deptId}"
                                            readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>部门名称:</td>
                                        <td><input type="text" name="deptName"
                                            value="${dept.deptName}" readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>上级部门:</td>
                                        <td><select name="parentDept.deptId" readonly="readonly">
                                                <option>--无上级--</option>
                                                <c:forEach items="${deptList}" var="d">
                                                    <option value="${d.deptId}"
                                                        ${dept.parentDept.deptId==d.deptId ? 'selected="selected"':""}>${d.deptName}</option>
                                                </c:forEach>
                                        </select></td>
                                    </tr>
                                    <tr>
                                        <td>部门状态</td>
                                        <td>关闭<input type="radio" name="state" value="0"
                                            ${dept.state==0 ? 'checked="checked"':""} readonly="readonly" />开启<input
                                            type="radio" name="state" value="1"
                                            ${dept.state==1 ? 'checked="checked"':""} readonly="readonly" /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
            • login

              • login.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../base.jsp" %>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>国际物流汇通商贸</title>
                    <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/login.css" media="all" />
                    <script src="${ctx}/staticfile/components/pngfix/DD_belatedPNG.js"></script>
                    <script> DD_belatedPNG.fix('*'); </script>
                </head>
                
                <body>
                <form id="login_main" method="post">
                <div id="png">
                    <div class="box">
                            <div class="inputstyle">
                                <div class="inputlable">用户名:
                                    <input type="text" value="tony" name="userName" id="userName" onFocus="this.select();" title="请您输入用户名"/>
                                    <div id="ts" style="z-index:1;">
                                    </div>
                                </div>
                
                                <div class="inputlable">密 码:
                                    <input type="password" value="123456" name="password" id="password" onfocus="$('#ts').css('display','none');this.select();"
                                        onKeyDown="javascript:if(event.keyCode==13){ submitFind(); }" title="请您输入密码"/>
                                </div>
                            </div>
                            <div class="btnstyle">
                                <input  class="loginImgOut" value="" type="button" onclick="formSubmit('${ctx}/login.action','_self');"
                                  onmouseover="this.className='loginImgOver'" 
                                  onmouseout="this.className='loginImgOut'"
                                />
                                <input class="resetImgOut" value="" type="button"   
                                  onmouseover="this.className='resetImgOver'" 
                                  onmouseout="this.className='resetImgOut'"
                                />
                            </div>
                            <div class="msgtip">
                                <c:if test="${!empty errorInfo}">
                                    ${errorInfo}
                                </c:if>
                            </div>
                    </div>
                </div>
                </form>
                
                <script type="text/JavaScript">
                    document.getElementById('login_main').userName.focus();
                </script>
                
                </body>
                </html>
                
              • logout.jsp

                <%@ page contentType="text/html; charset=utf-8"%>
                <%@ include file="../../base.jsp" %>
                <html>
                <head>
                </head>
                
                <script type="text/javascript">
                    window.top.location.href = "login";     //javascript页面跳转,top防止帧框架嵌套难看
                </script>
                
                <body>
                </body>
                </html>
                
            • module

              • JModuleCreate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>新增模块</title>
                <script type="text/javascript">
                    //保存错误
                    if ("${save_error}" != "") {
                        alert("${save_error}");
                    }
                </script>
                </head>
                
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('save','_self');this.blur()">新增</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            添加模块
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>模块名称:</td>
                                        <td><input type="text" name="name" /></td>
                                    </tr>
                                    <tr>
                                        <td>模块描述:</td>
                                        <td><input type="text" name="remark" /></td>
                                    </tr>
                                    <tr>
                                        <td>上级模块:</td>
                                        <td><select name="parentModule.moduleId">
                                                <option>--无上级--</option>
                                                <c:forEach items="${moduleList}" var="module">
                                                    <option value="${module.moduleId}">${module.name}</option>
                                                </c:forEach>
                                        </select></td>
                                    </tr>
                                    <tr>
                                        <td>模块状态</td>
                                        <td>关闭<input type="radio" name="state" value="0" checked="checked"/>开启<input
                                            type="radio" name="state" value="1" /></td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                    </form>
                </body>
                </html>
                
              • JModuleList.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>模块列表</title>
                </head>
                <script type="text/javascript">
                    //没有选模块就更新
                    if ("${error_up}" != "") {
                        alert("${error_up}");
                    }
                </script>
                <c:set property="error_up" value="" var="error_up">
                </c:set>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a href="#"
                                                onclick="formSubmit('toview','_self');this.blur();">查看</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('tocreate','_self');this.blur();">新增</a></li>
                                            <li id="update"><a href="#"
                                                onclick="formSubmit('toupdate','_self');this.blur();">修改</a></li>
                                            <li id="delete"><a href="#"
                                                onclick="formSubmit('delete','_self');this.blur();">删除</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('start','_self');this.blur();">启用</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('stop','_self');this.blur();">停用</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            模块列表
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <thead>
                                        <tr>
                                            <td class="tableHeader"><input type="checkbox" name="selid"
                                                onclick="checkAll('moduleId',this)"></td>
                                            <td class="tableHeader">序号</td>
                                            <td class="tableHeader">编号</td>
                                            <td class="tableHeader">上级</td>
                                            <td class="tableHeader">名称</td>
                                            <td class="tableHeader">描述</td>
                                            <td class="tableHeader">状态</td>
                                        </tr>
                                    </thead>
                                    <tbody class="tableBody">
                
                                        <c:forEach items="${moduleList}" var="m" varStatus="status">
                                            <tr class="odd" onmouseover="this.className='highlight'"
                                                onmouseout="this.className='odd'">
                                                <td><input type="checkbox" name="moduleId"
                                                    value="${m.moduleId}" /></td>
                                                <td>${status.index+1}</td>
                                                <td>${m.moduleId}</td>
                                                <td>${m.parentModule.name}</td>
                                                <td>${m.name}</td>
                                                <td>${m.remark}</td>
                                                <td><c:if test="${m.state==1}">
                                                        <a href="stop?moduleId=${m.moduleId}"><font color="green">启用</font></a>
                                                    </c:if> <c:if test="${m.state==0}">
                                                        <a href="start?moduleId=${m.moduleId}"><font color="red">停用</font></a>
                                                    </c:if></td>
                                            </tr>
                                        </c:forEach>
                
                                    </tbody>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JModuleUpdate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>更新模块</title>
                </head>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('update','_self');this.blur()">修改</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            更新模块
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>模块编号</td>
                                        <td><input type="text" name="moduleId"
                                            value="${module.moduleId}" readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>模块名称:</td>
                                        <td><input type="text" name="name" value="${module.name}" /></td>
                                    </tr>
                                    <tr>
                                        <td>模块名称:</td>
                                        <td><input type="text" name="remark" value="${module.remark}" /></td>
                                    </tr>
                                    <tr>
                                        <td>上级模块:</td>
                                        <td><select name="parentModule.moduleId">
                                                <option>--无上级--</option>
                                                <c:forEach items="${moduleList}" var="m">
                                                    <option value="${m.moduleId}" 
                                                        ${module.parentModule.moduleId==m.moduleId ? 'selected="selected"':""}
                                                        ${module.moduleId==m.moduleId ? 'hidden="hidden"':""}>${m.name}</option>
                                                </c:forEach>
                                        </select></td>
                                    </tr>
                                    <tr>
                                        <td>部门状态</td>
                                        <td>关闭<input type="radio" name="state" value="0"
                                            ${module.state==0 ? 'checked="checked"':""} />开启<input
                                            type="radio" name="state" value="1"
                                            ${module.state==1 ? 'checked="checked"':""} /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JModuleView.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>查看模块</title>
                </head>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            模块详情
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>模块编号</td>
                                        <td><input type="text" name="moduleId"
                                            value="${module.moduleId}" readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>模块名称:</td>
                                        <td><input type="text" name="name" value="${module.name}"
                                            readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>上级模块:</td>
                                        <td><select name="parentModule.moduleId" readonly="readonly">
                                                <option>--无上级--</option>
                                                <c:forEach items="${moduleList}" var="m">
                                                    <option value="${m.moduleId}"
                                                        ${module.parentModule.moduleId==m.moduleId ? 'selected="selected"':""}>${m.name}</option>
                                                </c:forEach>
                                        </select></td>
                                    </tr>
                                    <tr>
                                        <td>部门状态</td>
                                        <td>关闭<input type="radio" name="state" value="0"
                                            ${module.state==0 ? 'checked="checked"':""} readonly="readonly" />开启<input
                                            type="radio" name="state" value="1"
                                            ${module.state==1 ? 'checked="checked"':""} readonly="readonly" /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                

            • role

              • JRoleCreate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>新增角色</title>
                <script type="text/javascript">
                    //保存错误
                    if ("${save_error}" != "") {
                        alert("${save_error}");
                    }
                </script>
                </script>
                </head>
                
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('save','_self');this.blur()">新增</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            添加角色
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>角色ID:</td>
                                        <td><input type="text" name="roleId" /></td>
                                        <td>角色名称:</td>
                                        <td><input type="text" name="name" /></td>
                                        <td>角色描述:</td>
                                        <td><input type="text" name="remarks" /></td>
                                        <td>创建者:</td>
                                        <td><input type="text" name="createBy" /></td>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JRoleList.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>角色列表</title>
                <script type="text/javascript">
                    //没有角色
                    if ("${error_up}" != "") {
                        alert("${error_up}");
                    }
                    //保存失败
                    if ("${error_save}" != "") {
                        alert("${error_save}");
                    }
                    //保存成功
                    if ("${success_save}" != "") {
                        alert("${success_save}");
                    }
                </script>
                </head>
                <c:set property="error_up" value="" var="error_up">
                </c:set>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a href="#"
                                                onclick="formSubmit('toview','_self');this.blur();">查看</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('tocreate','_self');this.blur();">新增</a></li>
                                            <li id="update"><a href="#"
                                                onclick="formSubmit('toupdate','_self');this.blur();">修改</a></li>
                                            <li id="delete"><a href="#"
                                                onclick="formSubmit('delete','_self');this.blur();">删除</a></li>
                                            <li id="delete"><a href="#"
                                                onclick="formSubmit('tomodule','_self');this.blur();">模块</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            角色列表
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <thead>
                                        <tr>
                                            <td class="tableHeader"><input type="checkbox" name="selid"
                                                onclick="checkAll('roleId',this)"></td>
                                            <td class="tableHeader">序号</td>
                                            <td class="tableHeader">名称</td>
                                            <td class="tableHeader">介绍</td>
                                        </tr>
                                    </thead>
                                    <tbody class="tableBody">
                
                                        <c:forEach items="${roles}" var="role" varStatus="status">
                                            <tr class="odd" onmouseover="this.className='highlight'"
                                                onmouseout="this.className='odd'">
                                                <td><input type="checkbox" name="roleId"
                                                    value="${role.roleId}" /></td>
                                                <td>${status.index+1}</td>
                                                <td>${role.name}</td>
                                                <td>${role.remarks}</td>
                                            </tr>
                                        </c:forEach>
                
                                    </tbody>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JRoleModule.jsp

                <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>角色模块分配</title>
                <link rel="stylesheet"
                    href="${ctx}/staticfile/components/zTree/css/zTreeStyle/zTreeStyle.css"
                    type="text/css">
                <script type="text/javascript"
                    src="${ctx}/staticfile/components/zTree/js/jquery-1.4.4.min.js"></script>
                <script type="text/javascript"
                    src="${ctx}/staticfile/components/zTree/js/jquery.ztree.core-3.5.min.js"></script>
                <script type="text/javascript"
                    src="${ctx}/staticfile/components/zTree/js/jquery.ztree.excheck-3.5.min.js"></script>
                <SCRIPT type="text/javascript">
                    var setting = {
                        check : {
                            enable : true
                        },
                        data : {
                            simpleData : {
                                enable : true
                            }
                        }
                    };
                
                    //这里相当于在拿后来传来的数据,后台在传数据的时候,属性名要对应上
                    var zNodes = ${modulesJSON}
                
                    $(document).ready(function() {
                        $.fn.zTree.init($("#htZtree"), setting, zNodes);
                
                        var zTreeObj = $.fn.zTree.getZTreeObj("htZtree");
                        zTreeObj.expandAll(true); //展开所有树节点
                    });
                
                    //获取到所以用户选中的节点id值
                    //获取所有选择的节点,提交时调用下面函数
                    function submitCheckedNodes(treeNode) {
                        var nodes = new Array();
                        var zTreeObj = $.fn.zTree.getZTreeObj("htZtree");
                        nodes = zTreeObj.getCheckedNodes(true); //取得选中的结点
                        var str = "";
                        for (i = 0; i < nodes.length; i++) {
                            if (str != "") {
                                str += ",";
                            }
                            str += nodes[i].id;
                        }
                
                        $('#moduleIds').val(str); //将拼接完成的字符串放入隐藏域,这样就可以通过post提交
                    }
                </SCRIPT>
                </head>
                
                <body>
                    <form name="icform" method="post">
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="save"><a href="#"
                                                onclick="submitCheckedNodes();formSubmit('saveRoleModule','_self');this.blur();">保存</a></li>
                                            <li id="back"><a href="#"
                                                onclick="window.history.go(-1);this.blur();">返回</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img
                                src="${ctx}/staticfile/skin/default/images/icon/currency_yen.png" />
                            角色模块分配
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <!--隐藏域用来传递数据  -->
                                    <input type="hidden" id="roleId" name="roleId" value="${roleId}" />
                                    <input type="hidden" id="moduleIds" name="moduleIds" />
                                    <ul id="htZtree" class="ztree"></ul>
                                </table>
                            </div>
                        </div>
                    </form>
                </body>
                </html>
                
              • JRoleUpdate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>修改角色</title>
                <script type="text/javascript">
                    //保存错误
                    if ("${error_up}" != "") {
                        alert("${error_up}");
                    }
                </script>
                </head>
                
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('update','_self');this.blur()">修改</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            修改角色
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>角色ID:</td>
                                        <td><input type="text" name="roleId" value="${role.roleId}"
                                            readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>角色名称:</td>
                                        <td><input type="text" name="name" value="${role.name}" /></td>
                                    </tr>
                                    <tr>
                                        <td>角色描述:</td>
                                        <td><input type="text" name="remarks" value="${role.remarks}" /></td>
                                    </tr>
                                    <tr>
                                        <td><font color="#ff0000">修改人:</font></td>
                                        <td><input type="text" name="updateBy"
                                            value="${role.updateBy}" /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JRoleView.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>查看角色</title>
                <script type="text/javascript">
                
                </script>
                </head>
                
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            角色详情
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>角色ID:</td>
                                        <td><input type="text" name="roleId" value="${role.roleId}"
                                            readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>角色名称:</td>
                                        <td><input type="text" name="name" value="${role.name}"
                                            readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>角色描述:</td>
                                        <td><input type="text" name="remarks" value="${role.remarks}"
                                            readonly="readonly" /></td>
                                    </tr>
                                    <tr>
                                        <td>更新者:</td>
                                        <td><input type="text" name="updateBy"
                                            value="${role.updateBy}" readonly="readonly" /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
            • user

              • JUserCreate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>新增用户</title>
                <script type="text/javascript">
                    //保存错误
                    if ("${save_error}" != "") {
                        alert("${save_error}");
                    }
                </script>
                </script>
                </head>
                
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('save','_self');this.blur()">新增</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            添加用户
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>用户ID:</td>
                                        <td><input type="text" name="userId" /></td>
                                        <td>所属部门:</td>
                                        <td><select name="dept.deptId">
                                                <option value="-1">--无--</option>
                                                <c:forEach items="${depts}" var="dept">
                                                    <option value="${dept.deptId}">${dept.deptName}</option>
                                                </c:forEach>
                                        </select></td>
                                        <td>用户账户:</td>
                                        <td><input type="text" name="username" /></td>
                                        <td>用户密码:</td>
                                        <td><input type="text" name="password" /></td>
                                    </tr>
                                    <tr>
                                        <td>用户状态</td>
                                        <td>关闭<input type="radio" name="state" value="0" />开启<input
                                            type="radio" name="state" value="1" checked="checked" /></td>
                                        <td>创建者:</td>
                                        <td><input type="text" name="createBy" /></td>
                                        <td>创建时间:</td>
                                        <td><input type="date" name="createTime" /></td>
                                    </tr>
                                    <tr>
                                        <td>真实姓名:</td>
                                        <td><input type="text" name="userInfo.name" /></td>
                                        <td>身份证号:</td>
                                        <td><input type="text" name="userInfo.cardNo" /></td>
                                        <td>上级领导:</td>
                                        <td><select name="userInfo.managerUserInfo.userInfoId">
                                                <option value="-1">--无--</option>
                                                <c:forEach items="${userinfos}" var="userinfo">
                                                    <option value="${userinfo.userInfoId}">${userinfo.name}</option>
                                                </c:forEach>
                                        </select></td>
                                    </tr>
                                    <tr>
                                        <td>薪水:</td>
                                        <td><input type="text" name="userInfo.salary" /></td>
                                        <td>出生日期:</td>
                                        <td><input type="date" name="userInfo.birthday" /></td>
                                        <td>性别:</td>
                                        <td>男<input type="radio" name="userInfo.gender" value="男"
                                            checked="checked" />女<input type="radio" name="userInfo.gender"
                                            value="女" /></td>
                                        <td>职位:</td>
                                        <td><input type="text" name="userInfo.station" /></td>
                                    </tr>
                                    </tr>
                                    <td>电话号码:</td>
                                    <td><input type="text" name="userInfo.telephone" /></td>
                                    <td>员工级别:</td>
                                    <td><select name="userInfo.userLevel">
                                            <option value="4" selected="selected">普通用户</option>
                                            <option value="3">部门经理</option>
                                            <option value="2">副总</option>
                                            <option value="1">总经理</option>
                                            <option value="0">超级管理员</option>
                                    </select></td>
                                    <td>说明:</td>
                                    <td><input type="text" name="userInfo.remark" /></td>
                                    <td>排序号:</td>
                                    <td><input type="text" name="userInfo.orderNo" /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JUserList.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>用户列表</title>
                <script type="text/javascript">
                    //没有选用户就修改
                    if ("${error_up}" != "") {
                        alert("${error_up}");
                    }
                    //保存失败
                    if ("${error_save}" != "") {
                        alert("${error_save}");
                    }
                    //保存成功
                    if ("${success_save}" != "") {
                        alert("${success_save}");
                    }
                </script>
                </head>
                <c:set property="error_up" value="" var="error_up">
                </c:set>
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a href="#"
                                                onclick="formSubmit('toview','_self');this.blur();">查看</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('tocreate','_self');this.blur();">新增</a></li>
                                            <li id="update"><a href="#"
                                                onclick="formSubmit('toupdate','_self');this.blur();">修改</a></li>
                                            <li id="delete"><a href="#"
                                                onclick="formSubmit('delete','_self');this.blur();">删除</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('start','_self');this.blur();">启用</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('stop','_self');this.blur();">停用</a></li>
                                            <li id="new"><a href="#"
                                                onclick="formSubmit('role','_self');this.blur();">分配角色</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            部门列表
                        </div>
                
                        <div>
                
                
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <thead>
                                        <tr>
                                            <td class="tableHeader"><input type="checkbox" name="selid"
                                                onclick="checkAll('userId',this)"></td>
                                            <td class="tableHeader">编号</td>
                                            <td class="tableHeader">序号</td>
                                            <td class="tableHeader">用户名</td>
                                            <td class="tableHeader">昵称</td>
                                            <td class="tableHeader">性别</td>
                                            <td class="tableHeader">薪资</td>
                                            <td class="tableHeader">岗位</td>
                                            <td class="tableHeader">电话</td>
                                            <td class="tableHeader">所属部门</td>
                                            <td class="tableHeader">上级领导</td>
                                            <td class="tableHeader">状态</td>
                                        </tr>
                                    </thead>
                                    <tbody class="tableBody">
                
                                        <c:forEach items="${users}" var="u" varStatus="status">
                                            <tr class="odd" onmouseover="this.className='highlight'"
                                                onmouseout="this.className='odd'">
                                                <td><input type="checkbox" name="userId"
                                                    value="${u.userId}" /></td>
                                                <td>${u.userId}</td>
                                                <td>${status.index+1}</td>
                                                <td>${u.username}</td>
                                                <td>${u.userInfo.name}</td>
                                                <td>${u.userInfo.gender}</td>
                                                <td>${u.userInfo.salary}</td>
                                                <td>${u.userInfo.station}</td>
                                                <td>${u.userInfo.telephone}</td>
                                                <td>${u.dept.deptName}</td>
                                                <td>${u.userInfo.managerUserInfo.name}</td>
                                                <td><c:if test="${u.state==1}">
                                                        <a href="stop?userId=${u.userId}"><font color="green">启用</font></a>
                                                    </c:if> <c:if test="${u.state==0}">
                                                        <a href="start?userId=${u.userId}"><font color="red">停用</font></a>
                                                    </c:if></td>
                                            </tr>
                                        </c:forEach>
                
                                    </tbody>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JUserRole.jsp

                <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>用户角色分配</title>
                <link rel="stylesheet"
                    href="${ctx}/staticfile/components/zTree/css/zTreeStyle/zTreeStyle.css"
                    type="text/css">
                <script type="text/javascript"
                    src="${ctx}/staticfile/components/zTree/js/jquery-1.4.4.min.js"></script>
                <script type="text/javascript"
                    src="${ctx}/staticfile/components/zTree/js/jquery.ztree.core-3.5.min.js"></script>
                <script type="text/javascript"
                    src="${ctx}/staticfile/components/zTree/js/jquery.ztree.excheck-3.5.min.js"></script>
                <SCRIPT type="text/javascript">
                    var setting = {
                        check : {
                            enable : true
                        },
                        data : {
                            simpleData : {
                                enable : true
                            }
                        }
                    };
                
                    //这里相当于在拿后来传来的数据,后台在传数据的时候,属性名要对应上
                    var zNodes = ${rolesJSON}
                
                    $(document).ready(function() {
                        $.fn.zTree.init($("#htZtree"), setting, zNodes);
                
                        var zTreeObj = $.fn.zTree.getZTreeObj("htZtree");
                        zTreeObj.expandAll(true); //展开所有树节点
                    });
                
                    //获取到所以用户选中的节点id值
                    //获取所有选择的节点,提交时调用下面函数
                    function submitCheckedNodes(treeNode) {
                        var nodes = new Array();
                        var zTreeObj = $.fn.zTree.getZTreeObj("htZtree");
                        nodes = zTreeObj.getCheckedNodes(true); //取得选中的结点
                        var str = "";
                        for (i = 0; i < nodes.length; i++) {
                            if (str != "") {
                                str += ",";
                            }
                            str += nodes[i].id;
                        }
                
                        $('#roleIds').val(str); //将拼接完成的字符串放入隐藏域,这样就可以通过post提交
                    }
                </SCRIPT>
                </head>
                
                <body>
                    <form name="icform" method="post">
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="save"><a href="#"
                                                onclick="submitCheckedNodes();formSubmit('saveUserRole','_self');this.blur();">保存</a></li>
                                            <li id="back"><a href="#"
                                                onclick="window.history.go(-1);this.blur();">返回</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                
                        <div class="textbox-title">
                            <img
                                src="${ctx}/staticfile/skin/default/images/icon/currency_yen.png" />
                            用户角色分配
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <!--隐藏域用来传递数据  -->
                                    <input type="hidden" id="userId" name="userId" value="${userId}" />
                                    <input type="hidden" id="roleIds" name="roleIds" />
                                    <ul id="htZtree" class="ztree"></ul>
                                </table>
                            </div>
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JUserUpdate.jsp

                <%@ page language="java" pageEncoding="UTF-8"%>
                <%@ include file="../../baselist.jsp"%>
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <title>修改用户</title>
                </script>
                <script type="text/javascript">
                    //保存错误
                    if ("${error_up}" != "") {
                        alert("${error_up}");
                    }
                </script>
                </head>
                
                <body>
                    <form name="icform" method="post">
                
                        <div id="menubar">
                            <div id="middleMenubar">
                                <div id="innerMenubar">
                                    <div id="navMenubar">
                                        <ul>
                                            <li id="view"><a onclick="window.history.back()">返回</a></li>
                                            <li id="new"><a
                                                onclick="formSubmit('update','_self');this.blur()">修改</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="textbox-title">
                            <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                            修改用户
                        </div>
                        <div>
                            <div class="eXtremeTable">
                                <table id="ec_table" class="tableRegion" width="98%">
                                    <tr>
                                        <td>用户ID:</td>
                                        <td><input type="text" name="userId" value="${user.userId}"
                                            readonly="readonly" /></td>
                                        <td>所属部门:</td>
                                        <td><select name="dept.deptId">
                                                <option>--无--</option>
                                                <c:forEach items="${depts}" var="dept">
                                                    <option value="${dept.deptId}"
                                                        ${user.dept.deptId==dept.deptId ? "selected='selected'":""}>${dept.deptName}</option>
                                                </c:forEach>
                                        </select></td>
                                        <td>用户账户:</td>
                                        <td><input type="text" name="username"
                                            value="${user.username}" /></td>
                                        <td>用户密码:</td>
                                        <td><input type="text" name="password"
                                            value="${user.password}" /></td>
                                    </tr>
                                    <tr>
                                        <td>用户状态</td>
                                        <td>关闭<input type="radio" name="state" value="0"
                                            ${user.state==0?  "checked='checked'":""} />开启<input
                                            type="radio" name="state" value="1"
                                            ${user.state==1?  "checked='checked'":""} /></td>
                                    </tr>
                                    <tr>
                                        <td><font color="#ff0000">修改人:</font></td>
                                        <td><input type="text" name="userInfo.updateBy"
                                            value="${user.userInfo.updateBy}" /></td>
                                        <td>更新时间:</td>
                                        <td><input type="date" name="userInfo.updateTime"
                                            value="<fmt:formatDate value="${user.userInfo.updateTime}" pattern="yyyy-MM-dd"/>" /></td>
                                    </tr>
                                    <tr>
                                        <td>真实姓名:</td>
                                        <td><input type="text" name="userInfo.name"
                                            value="${user.userInfo.name}" /></td>
                                        <td>身份证号:</td>
                                        <td><input type="text" name="userInfo.cardNo"
                                            value="${user.userInfo.cardNo}" /></td>
                                        <td>上级领导:</td>
                                        <td><select name="userInfo.managerUserInfo.userInfoId">
                                                <option>--无--</option>
                                                <c:forEach items="${userinfos}" var="userinfo">
                                                    <option value="${userinfo.userInfoId}"
                                                        ${user.userInfo.managerUserInfo.userInfoId==userinfo.userInfoId ? "selected='selected'":""}>${userinfo.name}</option>
                                                </c:forEach>
                                        </select></td>
                                        <td>薪水:</td>
                                        <td><input type="text" name="userInfo.salary"
                                            value="${user.userInfo.salary}" /></td>
                                    </tr>
                                    <tr>
                                        <td>出生日期:</td>
                                        <td><input type="date" name="userInfo.birthday"
                                            value="<fmt:formatDate value="${user.userInfo.birthday}" pattern="yyyy-MM-dd"/>" /></td>
                                        <td>性别:</td>
                                        <td>男<input type="radio" name="userInfo.gender" value="男"
                                            ${user.userInfo.gender=="男" ? "checked='checked'" :""} />女<input
                                            type="radio" name="userInfo.gender" value="女"
                                            ${user.userInfo.gender=="女" ? "checked='checked'" :""} /></td>
                                        <td>职位:</td>
                                        <td><input type="text" name="userInfo.station"
                                            value="${user.userInfo.station}" /></td>
                                        <td>电话号码:</td>
                                        <td><input type="text" name="userInfo.telephone"
                                            value="${user.userInfo.telephone}" /></td>
                                    </tr>
                                    <tr>
                                        <td>员工级别:</td>
                                        <td><select name="userInfo.userLevel">
                                                <option value="4"
                                                    ${user.userInfo.userLevel=="4" ? "selected='selected'":""}>普通用户</option>
                                                <option value="3"
                                                    ${user.userInfo.userLevel=="3" ? "selected='selected'":""}>部门经理</option>
                                                <option value="2"
                                                    ${user.userInfo.userLevel=="2" ? "selected='selected'":""}>副总</option>
                                                <option value="1"
                                                    ${user.userInfo.userLevel=="1" ? "selected='selected'":""}>总经理</option>
                                                <option value="0"
                                                    ${user.userInfo.userLevel=="0" ? "selected='selected'":""}>超级管理员</option>
                                        </select></td>
                                        <td>说明:</td>
                                        <td><input type="text" name="userInfo.remark"
                                            value="${user.userInfo.remark}" /></td>
                                        <td>排序号:</td>
                                        <td><input type="text" name="userInfo.orderNo"
                                            value="${user.userInfo.orderNo}" /></td>
                                    </tr>
                                </table>
                            </div>
                
                        </div>
                
                
                    </form>
                </body>
                </html>
                
              • JUserView.jsp

                            <%@ page language="java" pageEncoding="UTF-8"%>
                            <%@ include file="../../baselist.jsp"%>
                            <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
                            <html xmlns="http://www.w3.org/1999/xhtml">
                            <head>
                            <title>查看用户</title>
                            </script>
                            </script>
                            </head>
                
                            <body>
                                <form name="icform" method="post">
                
                                    <div id="menubar">
                                        <div id="middleMenubar">
                                            <div id="innerMenubar">
                                                <div id="navMenubar">
                                                    <ul>
                                                        <li id="view"><a onclick="window.history.back()">返回</a></li>
                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="textbox-title">
                                        <img src="../../staticfile/skin/default/images/icon/currency_yen.png" />
                                        查看用户
                                    </div>
                                    <div>
                                        <div class="eXtremeTable">
                                            <table id="ec_table" class="tableRegion" width="98%">
                                                <tr>
                                                    <td>用户ID:</td>
                                                    <td><input type="text" name="userId" value="${user.userId}"
                                                        readonly="readonly" /></td>
                                                    <td>所属部门:</td>
                                                    <td><select name="dept.deptId">
                                                            <option>--无--</option>
                                                            <c:forEach items="${depts}" var="dept">
                                                                <option value="${dept.deptId}"
                                                                    ${user.dept.deptId==dept.deptId ? "selected='selected'":""}>${dept.deptName}</option>
                                                            </c:forEach>
                                                    </select></td>
                                                    <td>用户账户:</td>
                                                    <td><input type="text" name="username"
                                                        value="${user.username}" /></td>
                                                    <td>用户密码:</td>
                                                    <td><input type="text" name="password"
                                                        value="${user.password}" /></td>
                                                </tr>
                                                <tr>
                                                    <td>用户状态</td>
                                                    <td>关闭<input type="radio" name="state" value="0"
                                                        ${user.state==0?  "checked='checked'":""} />开启<input
                                                        type="radio" name="state" value="1"
                                                        ${user.state==1?  "checked='checked'":""} /></td>
                                                </tr>
                                                <tr>
                                                    <td><font color="#ff0000">修改人:</font></td>
                                                    <td><input type="text" name="userInfo.updateBy"
                                                        value="${user.userInfo.updateBy}" /></td>
                                                    <td>更新时间:</td>
                                                    <td><input type="date" name="userInfo.updateTime"
                                                        value="<fmt:formatDate value="${user.userInfo.updateTime}" pattern="yyyy-MM-dd"/>" /></td>
                                                </tr>
                                                <tr>
                                                    <td>真实姓名:</td>
                                                    <td><input type="text" name="userInfo.name"
                                                        value="${user.userInfo.name}" /></td>
                                                    <td>身份证号:</td>
                                                    <td><input type="text" name="userInfo.cardNo"
                                                        value="${user.userInfo.cardNo}" /></td>
                                                    <td>上级领导:</td>
                                                    <td><select name="userInfo.managerUserInfo.userInfoId">
                                                            <option>--无--</option>
                                                            <c:forEach items="${userinfos}" var="userinfo">
                                                                <option value="${userinfo.userInfoId}"
                                                                    ${user.userInfo.managerUserInfo.userInfoId==userinfo.userInfoId ? "selected='selected'":""}>${userinfo.name}</option>
                                                            </c:forEach>
                                                    </select></td>
                                                    <td>薪水:</td>
                                                    <td><input type="text" name="userInfo.salary"
                                                        value="${user.userInfo.salary}" /></td>
                                                </tr>
                                                <tr>
                                                    <td>出生日期:</td>
                                                    <td><input type="date" name="userInfo.birthday"
                                                        value="<fmt:formatDate value="${user.userInfo.birthday}" pattern="yyyy-MM-dd"/>" /></td>
                                                    <td>性别:</td>
                                                    <td>男<input type="radio" name="userInfo.gender" value="男"
                                                        ${user.userInfo.gender=="男" ? "checked='checked'" :""} />女<input
                                                        type="radio" name="userInfo.gender" value="女"
                                                        ${user.userInfo.gender=="女" ? "checked='checked'" :""} /></td>
                                                    <td>职位:</td>
                                                    <td><input type="text" name="userInfo.station"
                                                        value="${user.userInfo.station}" /></td>
                                                    <td>电话号码:</td>
                                                    <td><input type="text" name="userInfo.telephone"
                                                        value="${user.userInfo.telephone}" /></td>
                                                </tr>
                                                <tr>
                                                    <td>员工级别:</td>
                                                    <td><select name="userInfo.userLevel">
                                                            <option value="4"
                                                                ${user.userInfo.userLevel=="4" ? "selected='selected'":""}>普通用户</option>
                                                            <option value="3"
                                                                ${user.userInfo.userLevel=="3" ? "selected='selected'":""}>部门经理</option>
                                                            <option value="2"
                                                                ${user.userInfo.userLevel=="2" ? "selected='selected'":""}>副总</option>
                                                            <option value="1"
                                                                ${user.userInfo.userLevel=="1" ? "selected='selected'":""}>总经理</option>
                                                            <option value="0"
                                                                ${user.userInfo.userLevel=="0" ? "selected='selected'":""}>超级管理员</option>
                                                    </select></td>
                                                    <td>说明:</td>
                                                    <td><input type="text" name="userInfo.remark"
                                                        value="${user.userInfo.remark}" /></td>
                                                    <td>排序号:</td>
                                                    <td><input type="text" name="userInfo.orderNo"
                                                        value="${user.userInfo.orderNo}" /></td>
                                                </tr>
                                            </table>
                                        </div>
                
                                    </div>
                
                
                                </form>
                            </body>
                            </html>
                
            • left.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%>
              <%@ include file="../baselist.jsp"%>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
              <title></title>
              <link rel="stylesheet" rev="stylesheet" type="text/css"
                  href="${ctx}/staticfile/skin/default/css/left.css" media="all" />
              </head>
              
              <body id="left_frame">
                  <div class="PositionFrame_black" id="PositionFrame"></div>
              
              
                  <!-- begin1  -->
                  <div id="sidebar" class="sidebar">
                      <div class="sidebar_t">
                          <div class="sidebar_t_l"></div>
                          <div class="sidebar_t_c"></div>
                          <div class="sidebar_t_r"></div>
                      </div>
                      <div class="panel">
                          <div class="panel_icon">
                              <img src="${ctx}/staticfile/skin/default/images/icon/user1_lock.png" />
                          </div>
                          <div class="panel-header">
                              <div class="panel-title">权限管理</div>
                              <div class="panel-content">
                                  <ul>
                                      <shiro:hasPermission name="部门管理">
                                          <li><a href="${ctx}/sysadmin/dept/list"
                                              onclick="linkHighlighted(this)" target="main" id="aa_1">部门管理</a></li>
                                      </shiro:hasPermission>
                                      <shiro:hasPermission name="用户管理">
                                          <li><a href="${ctx}/sysadmin/user/list"
                                              onclick="linkHighlighted(this)" target="main" id="aa_1">用户管理</a></li>
                                      </shiro:hasPermission>
                                      <shiro:hasPermission name="角色管理">
                                          <li><a href="${ctx}/sysadmin/role/list"
                                              onclick="linkHighlighted(this)" target="main" id="aa_1">角色管理</a></li>
                                      </shiro:hasPermission>
                                      <shiro:hasPermission name="模块管理">
                                          <li><a href="${ctx}/sysadmin/module/list"
                                              onclick="linkHighlighted(this)" target="main" id="aa_1">模块管理</a></li>
                                      </shiro:hasPermission>
                                  </ul>
                              </div>
                          </div>
                      </div>
                      <div class="sidebar_t">
                          <div class="sidebar_b_l"></div>
                          <div class="sidebar_t_c"></div>
                          <div class="sidebar_b_r"></div>
                      </div>
                  </div>
              
              
              </body>
              </html>
              
            • main.jsp

              <%@ page language="java" pageEncoding="UTF-8"%>
              <%@ include file="../base.jsp" %>
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                  <title>模块介绍</title>
                  <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/main.css" media="all"/>
              </head>
              
              <body>
              <form>
              <div class="textbox"></div>
              
                  <div class="modelDiv">
              
                      <table class="modelTable" cellspacing="1">
                          <tr>
                              <td colspan="2" class="modelTitle">系统维护模块介绍</td>
                          </tr>
                          <tr>
                              <td colspan="2" class="subModelTitle">权限管理</td>
                          </tr>
                          <tr>
                              <td class="model_intro_left">多维权限控制模型:</td>
                              <td class="model_intro_right">横向模块权限控制(菜单、按钮、状态、功能点), 纵向数据权限控制(行政部门、职务等级、管辖部门、管辖人员)。
                              <p>=严密的数据访问控制,充分保障数据的安全性。</p>
                              </td>
                          </tr>           
                          <tr>
                              <td class="model_intro_left">角色管理:</td>
                              <td class="model_intro_right">对人员角色进行权限分配, 实现用户权限批量设置, 支持细粒度权限控制分配(菜单、按钮、状态、功能点)。</td>
                          </tr>           
                          <tr>
                              <td class="model_intro_left" width="169">部门管理:</td>
                              <td class="model_intro_right" width="81%">对企业部门进行维护和管理。</td>
                          </tr>
                          <tr>
                              <td class="model_intro_left" width="169">用户管理:</td>
                              <td class="model_intro_right" width="81%">可对系统操作用户进行维护管理, 维护信息包括用户账号、所属部门、功能权限等, 并支持对特殊用户账号锁定禁用操作。
                              <br/>管辖部门管辖人员:实现对特定部门, 特定人员分管关系。
                              </td>
                          </tr>  
              
                          <tfoot>
                              <tr>
                                  <td colspan="2" class="tableFooter"></td>
                              </tr>
                          </tfoot>
                      </table>
              
                  </div>
              </form>
              </body>
              
              </html>                        
              
          • base.jsp

            <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false"%>
            <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
            <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
            <c:set var="ctx" value="${pageContext.request.contextPath}" />
            
            <link rel="stylesheet" rev="stylesheet" type="text/css"
                href="${ctx}/staticfile/skin/default/css/default.css" media="all" />
            <link rel="stylesheet" rev="stylesheet" type="text/css"
                href="${ctx}/staticfile/skin/default/css/button.css" media="all" />
            <link rel="stylesheet" rev="stylesheet" type="text/css"
                href="${ctx}/staticfile/skin/default/css/table.css" media="all" />
            <script language="javascript" src="${ctx}/staticfile/js/common.js"></script>                    
            
          • baselist.jsp

            <%@ page language="java" pageEncoding="UTF-8"%>
            <%@ include file="base.jsp"%>
            
                <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/css/extreme/extremecomponents.css" />
                <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/css/extreme/extremesite.css" />                    
            
          • error.jsp

            <%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" %>
            <%@taglib prefix="s" uri="/struts-tags"%>
            <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
            <html>
            <head>
                <title>Error Page</title>
                <script language="javascript">
                    function showDetail()
                    {
                        var elm = document.getElementById('detail_system_error_msg');
                        if(elm.style.display == '') {
                            elm.style.display = 'none';
                        }else {
                            elm.style.display = '';
                        }
                    }
                </script>
            </head>
            
            <body style="font-family:微软雅黑;">
            
            <div id="content" style="text-align:left;">
            
            <table>
            <tr>
                <td><img alt="system internal error" src="../staticfile/images/error.jpg"/></td>
                <td>
            
            
                <br>  
                <b>错误信息:</b>
            
                <div style="color:blue;padding:15px;">
                    <s:property value="exception.message"/>
                </div>
                <button onclick="history.back();">返回</button>
            
            
                <p><a href="#" onclick="showDetail();">点击这里查看具体错误消息</a>,
                <br/>
                报告以下错误消息给系统管理员,可以更加快速的解决问题;
                <br/>联系电话:120
                </p>
            
                </td>
            </tr>
            </table>
            
                <div id="detail_system_error_msg" style="display:none;text-align:left;padding-bottom:100px;">  
                    <pre><s:property value="exceptionStack"/></pre>  
                </div>
            </div>
            </body>
            </html>                    
            
          • index.jsp

            <%@ page language="java" pageEncoding="UTF-8"%>
            <%@ include file="base.jsp" %>
            <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
            <title>国际物流汇通商贸</title>
                <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/staticfile/skin/default/css/login.css" media="all" />
                <script src="${ctx}/staticfile/components/pngfix/DD_belatedPNG.js"></script>
                <script> DD_belatedPNG.fix('*'); </script>
            </head>
            
            <body>
            <form id="login_main" method="post">
            <div id="png">
                <div class="box">
                    <div class="zck">
                        <div class="inputstyle">
                            <div class="inputlable">用户名:
                                <input type="text" value="" name="userName" id="userName" onFocus="this.select();" title="请您输入用户名"/>
                                <div id="ts" style="z-index:1;">
                                </div>
                            </div>
            
                            <div class="inputlable">密 码:
                                <input type="password" value="" name="password" id="password" onfocus="$('#ts').css('display','none');this.select();"
                                    onKeyDown="javascript:if(event.keyCode==13){ submitFind(); }" title="请您输入密码"/>
                            </div>
                        </div>
                        <div class="btnstyle">
                            <input  class="loginImgOut" value="" type="button" onclick="formSubmit('${ctx}/fmain.action','_self');"
                              onmouseover="this.className='loginImgOver'" 
                              onmouseout="this.className='loginImgOut'"
                            />
                            <input class="resetImgOut" value="" type="button"   
                              onmouseover="this.className='resetImgOver'" 
                              onmouseout="this.className='resetImgOut'"
                            />
                        </div>
                    </div>
            
                    <div class="mirro"></div>
                        <logic:notEmpty name="loginFailed">
                            <c:if test="${loginFailed==1}">
                                <c:set var="errorInfo" value="用户名或密码错误, 请重新输入!"/>
                            </c:if>
                            <c:if test="${loginFailed==2}">
                                <c:set var="errorInfo" value="用户名不存在, 请重新输入!"/>
                            </c:if>
                            <div class="erro" id="erro">
                                <div class="erro_intro">
                                ${errorInfo}
                                </div>
                            </div>
                        </logic:notEmpty>
                    </div>
                </div>
            </div>
            </form>
            <script type="text/JavaScript">
                document.getElementById('login_main').userName.focus();
            </script>
            
            </body>
            </html>
            
        • web.xml

          <!DOCTYPE web-app PUBLIC
           "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
           "http://java.sun.com/dtd/web-app_2_3.dtd" >
          
          <web-app>
              <!-- 懒加载加载spring -->
              <context-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>classpath:/spring/applicationContext*.xml</param-value>
              </context-param>
          
              <!--Spring的ApplicationContext 载入(懒加载) -->
              <listener>
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
              </listener>
              <!-- shiro【权限VS安全】过滤器 -->
              <filter>
                  <!-- 此处的name 要和配置文件中 filter工厂的id一样 -->
                  <filter-name>shiroFilter</filter-name>
                  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
                  <init-param>
                      <!-- 让shiro过滤器的生命周期 交给web容器管理 -->
                      <param-name>targetFilterLifecycle</param-name>
                      <param-value>true</param-value>
                  </init-param>
              </filter>
              <filter-mapping>
                  <filter-name>shiroFilter</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>
          
              <!-- 解决乱码过滤器(只能解决post的,get的需要手动解决) -->
              <!-- 乱码过滤器 -->
              <filter>
                  <filter-name>characterFilter</filter-name>
                  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
                  <init-param>
                      <param-name>encoding</param-name>
                      <param-value>utf-8</param-value>
                  </init-param>
                  <init-param>
                      <param-name>forceEncoding</param-name>
                      <param-value>true</param-value>
                  </init-param>
              </filter>
              <filter-mapping>
                  <filter-name>characterFilter</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>
              <!-- 分发器 -->
              <servlet>
                  <servlet-name>springmvc_dispatcher</servlet-name>
                  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                  <init-param>
                      <param-name>contextConfigLocation</param-name>
                      <!-- 启动spring-mvc配置文件 -->
                      <param-value>classpath:/spring/spring-mvc-config.xml</param-value>
                  </init-param>
                  <!-- 设置优先级 -->
                  <load-on-startup>1</load-on-startup>
              </servlet>
              <!-- 分发器的映射 -->
              <servlet-mapping>
                  <servlet-name>springmvc_dispatcher</servlet-name>
                  <url-pattern>/</url-pattern>
              </servlet-mapping>
              <!-- 欢迎界面 -->
              <welcome-file-list>
                  <welcome-file>index.jsp</welcome-file>
              </welcome-file-list>
          </web-app>
          
      • index.jsp

        <%@ page contentType="text/html; charset=utf-8"%>
        <html>
        <head>
        </head>
        <script type="text/javascript">
            //程序首页,进来就直接发请求
            top.location.href = "tologin.action"; //javascript页面跳转,防止页面嵌套,直接跳到最顶部窗口
        </script>
        <body>
        </body>
        </html>
        
  • pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.peng</groupId>
        <artifactId>ssmm</artifactId>
        <packaging>war</packaging>
        <version>0.0.1-SNAPSHOT</version>
        <name>ssmm Maven Webapp</name>
        <url>http://maven.apache.org</url>
        <properties>
            <!-- junit -->
            <junit.version>4.12</junit.version>
            <!-- spring -->
            <spring.version>4.2.3.RELEASE</spring.version>
            <!-- mybatis -->
            <mybatis.version>3.2.8</mybatis.version>
            <mybatis.spring.version>1.2.2</mybatis.spring.version>
            <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
            <!-- mysql -->
            <mysql.version>5.1.32</mysql.version>
            <!-- -->
            <bonecp-spring.version>0.8.0.RELEASE</bonecp-spring.version>
            <!-- -->
            <druid.version>1.0.9</druid.version>
            <!-- mapper -->
            <mapper.version>2.3.2</mapper.version>
            <!-- -->
            <pagehelper.version>3.4.2</pagehelper.version>
            <!-- -->
            <jsqlparser.version>0.9.1</jsqlparser.version>
            <!-- log4j -->
            <slf4j.version>1.7.7</slf4j.version>
            <log4j.version>1.2.17</log4j.version>
            <!--jstl -->
            <jstl.version>1.2</jstl.version>
            <!--servlet -->
            <servlet-api.version>2.5</servlet-api.version>
            <!--jsp -->
            <jsp-api.version>2.0</jsp-api.version>
            <!--c3p0 -->
            <c3p0.version>0.9.1.2</c3p0.version>
            <jackson.version>2.9.3</jackson.version>
            <!-- servlet-api版本号 -->
            <servlet_api.version>4.0.0-b07</servlet_api.version>
        </properties>
        <dependencies>
            <!-- ztree -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- c3p0 -->
            <dependency>
                <groupId>c3p0</groupId>
                <artifactId>c3p0</artifactId>
                <version>${c3p0.version}</version>
            </dependency>
            <!-- 日志文件管理包 -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <!-- Spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- Mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis.spring.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.miemiedev</groupId>
                <artifactId>mybatis-paginator</artifactId>
                <version>${mybatis.paginator.version}</version>
            </dependency>
            <!-- 通用Mapper,所有的单表的代码都不用编写 -->
            <dependency>
                <groupId>com.github.abel533</groupId>
                <artifactId>mapper</artifactId>
                <version>${mapper.version}</version>
            </dependency>
            <!-- MySql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <!-- 超高性能连接池 -->
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP-java6</artifactId>
                <version>2.3.9</version>
                <scope>compile</scope>
            </dependency>
            <!-- Apache Shiro 权限架构 -->
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-all</artifactId>
                <version>1.2.3</version>
            </dependency>
            <!-- 分页插件 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.jsqlparser</groupId>
                <artifactId>jsqlparser</artifactId>
                <version>${jsqlparser.version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
    
            <!-- JSP相关 -->
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>${servlet-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jsp-api.version}</version>
                <scope>provided</scope>
            </dependency>
    
            <!-- 字符加密、解密 -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.9</version>
            </dependency>
    
            <!-- 数据校验 -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>5.1.3.Final</version>
            </dependency>
            <!-- 上传组件包 -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3.1</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.4</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.9</version>
            </dependency>
            <!-- servlet_api依赖 -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet_api.version}</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <!-- tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <port>8077</port>
                        <!-- 斜杠代表(代表项目地址:localhost:/8077) -->
                        <path>/</path>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    

技术

  • 框架
    • Maven+Spring+SpringMVC+Mybatis
    • 图示
  • 登录【权限+加密】s
    • Shiro框架
    • 图示
  • 树结构显示
    • zTree框架
    • 图示
  • 表模型设计
    • PowerDesigner15工具
    • 图示
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风御浪云帆之上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值