前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaWeb之ssm框架整合,用户角色权限管理

JavaWeb之ssm框架整合,用户角色权限管理

作者头像
二十三年蝉
发布2018-02-28 11:24:34
4.9K0
发布2018-02-28 11:24:34
举报
文章被收录于专栏:闻道于事闻道于事

SSM框架整合

Spring

SpringMVC

MyBatis

导包: 1, spring 2, MyBatis 3, mybatis-spring 4, fastjson 5, aspectweaver----AspectJ框架 6, log4j-----打印日志信息 7, ojdbc6.jar 8, jstl.jar, standard.jar----标准标签库 9, commons-logging-1.2.jar

src下建立包结构

配置web.xml,spring-mvc.xml,spring-all.xml

建立表结构,使用PowerDesigner

前台页面,后台方法等。

 项目结构:

代码(引用,未完全实现):

配置文件:

代码语言:javascript
复制
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 5     id="WebApp_ID" version="3.0">
 6     
 7     <!-- 告诉web容器log4j的属性文件所在位置 -->
 8     <context-param>
 9         <param-name>log4jConfigLocation</param-name>
10         <param-value>classpath:conf/log4j.properties</param-value>
11     </context-param>
12     <listener>
13         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
14     </listener>
15     
16     <!-- spring框架提供的字符编码过滤器 -->
17     <filter>
18         <filter-name>characterEncodingFilter</filter-name>
19         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
20         <init-param>
21             <param-name>encoding</param-name>
22             <param-value>UTF-8</param-value>
23         </init-param>
24         <init-param>
25             <param-name>forceEncoding</param-name>
26             <param-value>true</param-value>
27         </init-param>
28     </filter>
29     <filter-mapping>
30         <filter-name>characterEncodingFilter</filter-name>
31         <url-pattern>/*</url-pattern>
32     </filter-mapping>
33 
34     <!-- 加载Spring的配置文件 -->
35     <context-param>
36         <param-name>contextConfigLocation</param-name>
37         <param-value>classpath:conf/spring-config.xml</param-value>
38     </context-param>
39     <listener>
40         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
41     </listener>
42     
43     <!-- 加载SpringMVC的配置文件 -->
44     <servlet>
45         <servlet-name>springDispatcherServlet</servlet-name>
46         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
47         <init-param>
48             <param-name>contextConfigLocation</param-name>
49             <param-value>classpath:conf/spring-mvc.xml</param-value>
50         </init-param>
51         <load-on-startup>1</load-on-startup>
52     </servlet>
53     <servlet-mapping>
54         <servlet-name>springDispatcherServlet</servlet-name>
55         <url-pattern>*.do</url-pattern>
56     </servlet-mapping>
57 </web-app>
代码语言:javascript
复制
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 5     id="WebApp_ID" version="3.0">
 6     
 7     <!-- 告诉web容器log4j的属性文件所在位置 -->
 8     <context-param>
 9         <param-name>log4jConfigLocation</param-name>
10         <param-value>classpath:conf/log4j.properties</param-value>
11     </context-param>
12     <listener>
13         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
14     </listener>
15     
16     <!-- spring框架提供的字符编码过滤器 -->
17     <filter>
18         <filter-name>characterEncodingFilter</filter-name>
19         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
20         <init-param>
21             <param-name>encoding</param-name>
22             <param-value>UTF-8</param-value>
23         </init-param>
24         <init-param>
25             <param-name>forceEncoding</param-name>
26             <param-value>true</param-value>
27         </init-param>
28     </filter>
29     <filter-mapping>
30         <filter-name>characterEncodingFilter</filter-name>
31         <url-pattern>/*</url-pattern>
32     </filter-mapping>
33 
34     <!-- 加载Spring的配置文件 -->
35     <context-param>
36         <param-name>contextConfigLocation</param-name>
37         <param-value>classpath:conf/spring-config.xml</param-value>
38     </context-param>
39     <listener>
40         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
41     </listener>
42     
43     <!-- 加载SpringMVC的配置文件 -->
44     <servlet>
45         <servlet-name>springDispatcherServlet</servlet-name>
46         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
47         <init-param>
48             <param-name>contextConfigLocation</param-name>
49             <param-value>classpath:conf/spring-mvc.xml</param-value>
50         </init-param>
51         <load-on-startup>1</load-on-startup>
52     </servlet>
53     <servlet-mapping>
54         <servlet-name>springDispatcherServlet</servlet-name>
55         <url-pattern>*.do</url-pattern>
56     </servlet-mapping>
57 </web-app>
代码语言:javascript
复制
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xmlns:mvc="http://www.springframework.org/schema/mvc"
 6     xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
 7         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
 8         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
 9     
10     <!-- 配置扫描器 -->
11     <context:component-scan base-package="com.hanqi.controller" />
12     
13     <!-- 配置视图解析器 -->
14     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
15         <!-- <property name="prefix" value="/WEB-INF/"></property> -->
16         <property name="prefix" value="/"></property>
17         <property name="suffix" value=".jsp"></property>
18     </bean>
19     
20     <!-- 上传文件的解析器 -->
21     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
22         <!-- 上传文件的总大小, 单位是b -->
23         <property name="maxUploadSize" value="10240000"></property>
24         <!-- 单个文件的上传大小限制, 单位是b -->
25         <property name="maxUploadSizePerFile" value="1000000"></property>
26         <!-- 默认字符集 -->
27         <property name="defaultEncoding" value="utf-8"></property>
28     </bean>
29     
30     <!-- 开启SpringMVC注解驱动 -->
31     <mvc:annotation-driven>
32         <!-- 改成false, 原因是在spring中默认使用的json格式的转换器是Jackson.jar中的转换器, 但实际开发中更受欢迎的是fastjson.jar -->
33         <mvc:message-converters register-defaults="false">
34             <bean class="org.springframework.http.converter.StringHttpMessageConverter" />
35             <bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter" />
36             <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter" />
37             <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
38             <bean id="fastJsonHttpMessagerConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
39                 <!-- 设置支持的媒体类型 -->
40                 <property name="supportedMediaTypes">
41                     <list>
42                         <value>text/html; charset=utf-8</value>
43                         <value>application/json; charset=utf-8</value>
44                     </list>
45                 </property>
46             </bean>
47         </mvc:message-converters>
48     </mvc:annotation-driven>
49 </beans>

src下:

model层实体类:

代码语言:javascript
复制
 1 package com.hanqi.model;
 2 
 3 public class SrUserRole {
 4     private Integer id;
 5     private Integer userid;
 6     private Integer roleid;
 7 
 8     public SrUserRole() {
 9         super();
10     }
11 
12     public SrUserRole(Integer id, Integer userid, Integer roleid) {
13         super();
14         this.id = id;
15         this.userid = userid;
16         this.roleid = roleid;
17     }
18 
19     public Integer getId() {
20         return id;
21     }
22 
23     public void setId(Integer id) {
24         this.id = id;
25     }
26 
27     public Integer getUserid() {
28         return userid;
29     }
30 
31     public void setUserid(Integer userid) {
32         this.userid = userid;
33     }
34 
35     public Integer getRoleid() {
36         return roleid;
37     }
38 
39     public void setRoleid(Integer roleid) {
40         this.roleid = roleid;
41     }
42 }
代码语言:javascript
复制
 1 package com.hanqi.model;
 2 
 3 public class SrRoleMenu {
 4     private Integer id;
 5     private Integer roleid;
 6     private Integer menuid;
 7 
 8     public SrRoleMenu(Integer id, Integer roleid, Integer menuid) {
 9         super();
10         this.id = id;
11         this.roleid = roleid;
12         this.menuid = menuid;
13     }
14 
15     public SrRoleMenu() {
16         super();
17     }
18 
19     public Integer getId() {
20         return id;
21     }
22 
23     public void setId(Integer id) {
24         this.id = id;
25     }
26 
27     public Integer getRoleid() {
28         return roleid;
29     }
30 
31     public void setRoleid(Integer roleid) {
32         this.roleid = roleid;
33     }
34 
35     public Integer getMenuid() {
36         return menuid;
37     }
38 
39     public void setMenuid(Integer menuid) {
40         this.menuid = menuid;
41     }
42 }
代码语言:javascript
复制
 1 package com.hanqi.model;
 2 
 3 public class SrRole {
 4     private Integer id;
 5     private String rolename;
 6     private String status;
 7     private boolean checked;
 8 
 9     public SrRole() {
10         super();
11     }
12 
13     public SrRole(Integer id, String rolename, String status) {
14         super();
15         this.id = id;
16         this.rolename = rolename;
17         this.status = status;
18     }
19 
20     public Integer getId() {
21         return id;
22     }
23 
24     public void setId(Integer id) {
25         this.id = id;
26     }
27 
28     public String getRolename() {
29         return rolename;
30     }
31 
32     public void setRolename(String rolename) {
33         this.rolename = rolename;
34     }
35 
36     public String getStatus() {
37         return status;
38     }
39 
40     public void setStatus(String status) {
41         this.status = status;
42     }
43 
44     public boolean getChecked() {
45         return checked;
46     }
47 
48     public void setChecked(boolean checked) {
49         this.checked = checked;
50     }
51 }
代码语言:javascript
复制
 1 package com.hanqi.model;
 2 
 3 public class SrMenu {
 4     private Integer id;
 5     private String menuname;
 6     private String url;
 7     private String icon;
 8     private String status;
 9     private Integer parentid;
10 
11     public SrMenu() {
12         super();
13     }
14 
15     public SrMenu(Integer id, String menuname, String url, String icon, String status) {
16         super();
17         this.id = id;
18         this.menuname = menuname;
19         this.url = url;
20         this.icon = icon;
21         this.status = status;
22     }
23 
24     public Integer getId() {
25         return id;
26     }
27 
28     public void setId(Integer id) {
29         this.id = id;
30     }
31 
32     public String getMenuname() {
33         return menuname;
34     }
35 
36     public void setMenuname(String menuname) {
37         this.menuname = menuname;
38     }
39 
40     public String getUrl() {
41         return url;
42     }
43 
44     public void setUrl(String url) {
45         this.url = url;
46     }
47 
48     public String getIcon() {
49         return icon;
50     }
51 
52     public void setIcon(String icon) {
53         this.icon = icon;
54     }
55 
56     public String getStatus() {
57         return status;
58     }
59 
60     public void setStatus(String status) {
61         this.status = status;
62     }
63 
64     public Integer getParentid() {
65         return parentid;
66     }
67 
68     public void setParentid(Integer parentid) {
69         this.parentid = parentid;
70     }
71 }

dao层接口:

代码语言:javascript
复制
 1 package com.hanqi.dao;
 2 
 3 import java.util.List;
 4 
 5 import com.hanqi.model.SrUser;
 6 
 7 public interface SrUserDao {
 8 
 9     SrUser login(SrUser srUser);
10 
11     int insertSrUser(SrUser srUser);
12 
13     List<SrUser> selectAll();
14 
15 }
代码语言:javascript
复制
 1 package com.hanqi.dao;
 2 
 3 import java.util.List;
 4 
 5 import com.hanqi.model.SrRole;
 6 
 7 public interface SrRoleDao {
 8 
 9     List<SrRole> selectAllRoles(String userid);
10 
11     List<SrRole> selectAll();
12 
13 }
代码语言:javascript
复制
 1 package com.hanqi.dao;
 2 
 3 import java.util.List;
 4 
 5 import com.hanqi.model.SrMenu;
 6 import com.hanqi.model.SrUser;
 7 
 8 public interface SrMenuDao {
 9 
10     List<SrMenu> selectMenus(SrUser currentUser);
11 
12 }

dao层实现方法:

代码语言:javascript
复制
 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <mapper namespace="com.hanqi.dao.SrUserDao">
 6 
 7     <select id="login" parameterType="SrUser" resultType="SrUser">
 8         select * from Sr_User s 
 9         <where>
10             s.username=#{username} and s.password=#{password}
11         </where>
12     </select>
13     
14     <select id="selectAll" resultType="SrUser">
15         select * from sr_user
16     </select>
17     
18     <insert id="insertSrUser" parameterType="SrUser">
19         insert into sr_user values 
20         (testsq.nextval, #{username}, #{password}, #{realname}, #{status}, null)
21     </insert>
22 </mapper>
代码语言:javascript
复制
 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <mapper namespace="com.hanqi.dao.SrRoleDao">
 6 
 7     <select id="selectAllRoles" resultType="SrRole">
 8         SELECT * FROM sr_role sr WHERE sr.id IN 
 9         (SELECT sur.roleid FROM sr_user_role sur WHERE sur.userid=#{userid})
10     </select>
11     
12     <select id="selectAll" resultType="SrRole">
13         select * from sr_role
14     </select>
15 </mapper>
代码语言:javascript
复制
 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <mapper namespace="com.hanqi.dao.SrMenuDao">
 6 
 7     <select id="selectMenus" parameterType="SrUser" resultType="SrMenu">
 8         SELECT * FROM SR_MENU SM
 9         WHERE SM.ID IN (SELECT SRM.MENUID
10         FROM SR_ROLE_MENU SRM
11         WHERE SRM.ROLEID = (SELECT SUR.ROLEID
12         FROM SR_USER_ROLE SUR
13         WHERE SUR.USERID = #{id}))
14     </select>
15 
16 </mapper>

controller层控制器:

代码语言:javascript
复制
 1 package com.hanqi.controller;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.stereotype.Controller;
 8 import org.springframework.ui.Model;
 9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.ResponseBody;
11 import org.springframework.web.bind.annotation.SessionAttributes;
12 
13 import com.alibaba.fastjson.JSONObject;
14 import com.hanqi.dao.SrUserDao;
15 import com.hanqi.model.SrUser;
16 
17 @Controller
18 @SessionAttributes("currentUser")
19 @RequestMapping("sruser")
20 public class SrUserController {
21     
22     @Autowired
23     private SrUserDao srUserDao;
24 
25     @RequestMapping("/login")
26     public String login(SrUser srUser, Model model) {
27         String vname = "login";
28         model.addAttribute("user", srUser);
29         SrUser su = srUserDao.login(srUser);
30         
31         if(su!=null) {
32             vname = "index";
33             model.addAttribute("currentUser", su);
34         }
35         
36         return vname;
37     }
38     
39     @RequestMapping("/register")
40     public String register(SrUser srUser) {
41         srUser.setStatus("1");
42         int a = srUserDao.insertSrUser(srUser);
43         
44         return "regsuccess";
45     }
46     
47     @ResponseBody
48     @RequestMapping("selectAll")
49     public JSONObject selectAll() {
50         JSONObject jo = new JSONObject();
51         List<SrUser> list = srUserDao.selectAll();
52         jo.put("total", list.size());
53         jo.put("rows", list);
54         
55         return jo;
56     }
57     
58 }
代码语言:javascript
复制
package com.hanqi.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hanqi.dao.SrRoleDao;
import com.hanqi.model.SrRole;

@Controller
@RequestMapping("/role")
public class SrRoleController {

    @Autowired
    private SrRoleDao srRoleDao;

    @ResponseBody
    @RequestMapping("/selectAllRoles")
    public List<SrRole> selectAllRoles(String userid) {

        // 查询当前用户拥有的角色
        List<SrRole> list = srRoleDao.selectAllRoles(userid);
        // 查询所有的角色
        List<SrRole> listAll = srRoleDao.selectAll();

        for (int i = 0; i < list.size(); i++) {
            for (int j = 0; j < listAll.size(); j++) {
                if (listAll.get(j).getId() == list.get(i).getId()) {
                    listAll.get(j).setChecked(true);
                }
            }
        }
        return listAll;
    }
}
代码语言:javascript
复制
 1 package com.hanqi.controller;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import javax.servlet.http.HttpServletRequest;
 7 
 8 import org.springframework.beans.factory.annotation.Autowired;
 9 import org.springframework.stereotype.Controller;
10 import org.springframework.web.bind.annotation.RequestMapping;
11 import org.springframework.web.bind.annotation.ResponseBody;
12 
13 import com.hanqi.dao.SrMenuDao;
14 import com.hanqi.model.SrMenu;
15 import com.hanqi.model.SrUser;
16 
17 @Controller
18 @RequestMapping("/menu")
19 public class SrMenuController {
20 
21     @Autowired
22     private SrMenuDao srMenuDao;
23     
24     @ResponseBody
25     @RequestMapping("/selectMenus")
26     public List<SrMenu> selectMenus(HttpServletRequest request) {
27         
28         SrUser currentUser = (SrUser)request.getSession().getAttribute("currentUser");
29         
30         List<SrMenu> list = new ArrayList<SrMenu>();
31         if(currentUser!=null) {
32             list = srMenuDao.selectMenus(currentUser);
33         }
34         
35         return list;
36     }
37     
38 }

前台jsp页面:

代码语言:javascript
复制
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <%
 7     String basePath = request.getContextPath();
 8 %>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <script type="text/javascript" src="<%=basePath %>/js/jquery-3.2.1.min.js"></script>
11 <script type="text/javascript" src="<%=basePath %>/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>
12 <link type="text/css" rel="stylesheet" href="<%=basePath %>/jquery-easyui-1.5.1/themes/icon.css"></link>
13 <link type="text/css" rel="stylesheet" href="<%=basePath %>/jquery-easyui-1.5.1/themes/default/easyui.css"></link>
14 <script type="text/javascript" src="<%=basePath %>/jquery-easyui-1.5.1/locale/easyui-lang-zh_CN.js"></script>
15 <script type="text/javascript" src="<%=basePath %>/js/index.js"></script>
16 <script type="text/javascript">
17     var __ctx = "<%=basePath %>";
18 </script>
19 <title>Insert title here</title>
20 </head>
21 <body class="easyui-layout">
22     <div data-options="region:'north',title:'North Title',split:true,height:100">
23         <h1>${currentUser.realname }</h1>
24     </div>
25     <div data-options="region:'west',title:'West',split:true,width:150">
26         <ul id="treemenu" class="easyui-tree" 
27             data-options="url:'<%=basePath %>/menu/selectMenus.do',idField:'id',
28             parentField:'parentid',textField:'menuname'"></ul>
29     </div>
30     <div data-options="region:'center'">
31         <div id="tabs_userrole" class="easyui-tabs" data-options="fit:true">
32         </div>
33     </div>
34 </body>
35 </html>
代码语言:javascript
复制
  1 <%@ page language="java" contentType="text/html; charset=UTF-8"
  2     pageEncoding="UTF-8"%>
  3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4 <html>
  5 <head>
  6 <%
  7     String basePath = request.getContextPath();
  8 %>
  9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 10 <script type="text/javascript"
 11     src="<%=basePath%>/js/jquery-3.2.1.min.js"></script>
 12 <script type="text/javascript"
 13     src="<%=basePath%>/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>
 14 <link type="text/css" rel="stylesheet"
 15     href="<%=basePath%>/jquery-easyui-1.5.1/themes/icon.css"></link>
 16 <link type="text/css" rel="stylesheet"
 17     href="<%=basePath%>/jquery-easyui-1.5.1/themes/default/easyui.css"></link>
 18 <script type="text/javascript"
 19     src="<%=basePath%>/jquery-easyui-1.5.1/locale/easyui-lang-zh_CN.js"></script>
 20 <title>Insert title here</title>
 21 </head>
 22 <body>
 23     <table id="userinfo" class="easyui-datagrid"
 24         data-options="toolbar:'#tools',url:'<%=basePath%>/sruser/selectAll.do',fit:true,fitColumns:true,singleSelect:true">
 25         <thead>
 26             <tr>
 27                 <th data-options="field:'',width:100,checkbox:true"></th>
 28                 <th data-options="field:'id',width:100">id</th>
 29                 <th data-options="field:'username',width:100">用户名</th>
 30                 <th data-options="field:'realname',width:100">姓名</th>
 31                 <th data-options="field:'status',width:100">状态</th>
 32                 <th data-options="field:'mark',width:100">备注</th>
 33             </tr>
 34         </thead>
 35     </table>
 36     <div id="tools">
 37         <a class="easyui-linkbutton" iconCls="icon-add" 
 38             onclick="showRoleInfos()">修改角色</a>
 39     </div>
 40     
 41     <div id="dialog_roles" class="easyui-dialog" 
 42         data-options="closed:true,width:200,height:300,title:'更改角色',modal:true">
 43         <ul id="role_tree"></ul>
 44     </div>
 45     
 46     <script type="text/javascript">
 47         function showRoleInfos() {
 48             var data = $("#userinfo").datagrid("getSelected");
 49             $("#role_tree").tree({
 50                 url:"role/selectAllRoles.do",
 51                 checkbox:true,
 52                 idField:"id",
 53                 parentField:"id",
 54                 textField:"rolename",
 55                 queryParams:{
 56                     userid:data.id
 57                 },
 58                 onCheck:function(node, checked) {
 59                     console.log(node);
 60                     console.log(checked);
 61                 }
 62             });
 63             $("#dialog_roles").dialog("open");
 64         }
 65         
 66         
 67         
 68         
 69         
 70         
 71         
 72         //easyui实现自定义simpleData加载
 73         $.fn.tree.defaults.loadFilter = function (data) {
 74             var opt = $(this).data().tree.options;//整个tree的dom对象
 75             var idField, textField, parentField;
 76             if (opt.parentField) {
 77                 idField = opt.idField || 'id';
 78                 textField = opt.textField || 'text';
 79                 parentField = opt.parentField;
 80                 var i,l,
 81                 treeData = [],
 82                 tmpMap = [];
 83                 for (i = 0, l = data.length; i < l; i++) {
 84                     tmpMap[data[i][idField]] = data[i];
 85                 }
 86                 for (i = 0, l = data.length; i < l; i++) {
 87                     if (tmpMap[data[i][parentField]] && data[i][idField] != data[i][parentField]) {
 88                         if (!tmpMap[data[i][parentField]]['children'])
 89                             tmpMap[data[i][parentField]]['children'] = [];
 90                         data[i]['text'] = data[i][textField];
 91                         tmpMap[data[i][parentField]]['children'].push(data[i]);
 92                     } else {
 93                         data[i]['text'] = data[i][textField];
 94                         treeData.push(data[i]);
 95                     }
 96                 }
 97                 return treeData;
 98             }
 99             return data;
100         };
101     </script>
102     
103     
104     
105 </body>
106 </html>
代码语言:javascript
复制
 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <form action="sruser/login.do" method="post">
11         <table>
12             <tr>
13                 <td>用户名: </td>
14                 <td><input name="username" value="${user.username }" /></td>
15             </tr>
16             <tr>
17                 <td>密码: </td>
18                 <td><input name="password" value="${user.password }" /></td>
19             </tr>
20             <tr>
21                 <td colspan="2"><input type="submit" value="登录" /></td>
22             </tr>
23         </table>
24     </form>
25 </body>
26 </html>
代码语言:javascript
复制
 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <form action="sruser/register.do" method="post">
11         <table>
12             <tr>
13                 <td>用户名: </td>
14                 <td><input name="username" /></td>
15             </tr>
16             <tr>
17                 <td>密码: </td>
18                 <td><input name="password" /></td>
19             </tr>
20             <tr>
21                 <td>确认密码: </td>
22                 <td><input name="password1" /></td>
23             </tr>
24             <tr>
25                 <td>姓名: </td>
26                 <td><input name="realname" /></td>
27             </tr>
28             <tr>
29                 <td colspan="2"><input type="submit" value="注册" /></td>
30             </tr>
31         </table>
32     </form>
33 </body>
34 </html>
代码语言:javascript
复制
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <%
 7     String basePath = request.getContextPath();
 8 %>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>Insert title here</title>
11 </head>
12 <body>
13 注册成功 !
14 <a href="<%=basePath %>/login.jsp">返回登录</a>
15 </body>
16 </html>

我写的不完全版……补全之后再贴上来

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-10-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档