当前位置:网站首页>Customize MVC project login registration and tree menu
Customize MVC project login registration and tree menu
2022-07-25 17:01:00 【Sooner or later, I will go bald】
Easyui and mvc project 1_ Login registration permission tree display
One 、 Sign in and register
Import tomcat And what the project needs jar Package and previously written tool classes 
Set up the database User Corpses ( user )
package com.mjx.entity;
public class User {
private long id;
private String name;
private String pwd;
private int type;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", pwd=" + pwd + ", type=" + type + "]";
}
}
Write login and Registered dao Method
package com.mjx.dao;
import java.util.List;
import com.mjx.entity.RolePermission;
import com.mjx.entity.User;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;
public class UserDao extends BaseDao<User> {
// land
public User login(User user) throws Exception {
String sql = "select * from t_easyui_user where name='" + user.getName() + "'and pwd='" + user.getPwd() + "'";
return super.executeQuery(sql, User.class, null).get(0);
}
// register
public void add(User user) throws Exception {
String sql = "insert into t_easyui_user(name,pwd) values(?,?)";
super.executeUpdate(sql, user, new String[] { "name", "pwd" });
}
}
Write UserAction
package com.mjx.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mjx.dao.UserDao;
import com.mjx.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
public class UserAction extends ActionSupport implements ModelDriver<User> {
private User user = new User();
private UserDao userDao = new UserDao();
@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
// Sign in
public String login(HttpServletRequest req, HttpServletResponse resp) {
try {
User u = userDao.login(user);
if (u == null) {
return "toLogin";
}
req.getSession().setAttribute("cuser", u);
} catch (Exception e) {
e.printStackTrace();
return "toLogin";
}
// As long as the database has this user , Just jump to the main interface
return "main";
}
// register
public String register(HttpServletRequest req, HttpServletResponse resp) {
try {
userDao.add(user);
req.setAttribute("msg", " Wrong user name or password ");
} catch (Exception e) {
e.printStackTrace();
return "toRegister";
}
// If the registration is successful , Jump to the login screen
return "toLogin";
}
}
modify xml file , Corresponding to the page to jump
<?xml version="1.0" encoding="UTF-8"?>
<config>
<action path="/user" type="com.dzl.web.UserAction">
<forward name="main" path="/bg/mainTemp.jsp" redirect="false" /> <!-- forward -->
<forward name="toLogin" path="/login.jsp" redirect="true" /> <!-- Redirect -->
<forward name="toRegister" path="/register.jsp" redirect="false" />
</action>
<action path="/Permission" type="com.dzl.web.PermissionAction">
<forward name="toLogin" path="/login.jsp" redirect="true" /> <!-- Redirect -->
</action>
</config>
And main.js
$(function(){
$("#bookMenus").tree({
url:$("#ctx").val()+"/Permission.action?methodName=tree"
})
})
Running results :

Two 、 Display of tree menu
PermissionAction
package com.mjx.web;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mjx.dao.PermissionDao;
import com.mjx.dao.RolePermissionDao;
import com.mjx.dao.UserDao;
import com.mjx.entity.Permission;
import com.mjx.entity.RolePermission;
import com.mjx.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.BuildTree;
import com.zking.util.ResponseUtil;
import com.zking.util.TreeVo;
public class PermissionAction extends ActionSupport implements ModelDriver<Permission> {
private Permission permission = new Permission();
private PermissionDao permissionDao = new PermissionDao();
private UserDao userDao = new UserDao();
private RolePermissionDao rolePermissionDao = new RolePermissionDao();
public Permission getModel() {
// TODO Auto-generated method stub
return permission;
}
public String tree(HttpServletRequest req, HttpServletResponse resp) {
try {
User cuser = (User) req.getSession().getAttribute("cuser");
if (cuser == null) {
return "toLogin";
}
int type = cuser.getType();
List<RolePermission> rolePermissions = rolePermissionDao.findRolePermission(type);
StringBuffer sb = new StringBuffer();
for (RolePermission rp : rolePermissions) {
sb.append(",").append(rp.getPid());
}
List<TreeVo<Permission>> treePlus = permissionDao.treePlus(sb.substring(1));
// List<TreeVo<Permission>> tree = permissionDao.tree(null, null);
ResponseUtil.writeJson(resp, treePlus);
} catch (Exception e) {
e.printStackTrace();
try {
ResponseUtil.write(resp, "0");
} catch (Exception e1) {
e1.printStackTrace();
}
}
return null;
}
}
PermissionDao
package com.mjx.dao;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.mjx.entity.Permission;
import com.zking.util.BaseDao;
import com.zking.util.BuildTree;
import com.zking.util.PageBean;
import com.zking.util.TreeVo;
public class PermissionDao extends BaseDao<Permission> {
/*
* become easyui Of tree Control json Format
* 1.jackson Bring in
* 2. Get Permission Of list aggregate , Query database first
* 3.List<Permission> convert to List<TreeVo>
* 4. Through tool class BuildTree Convert level data into level data
*
*/
// The second step
public List<Permission> list(Permission Permission, PageBean pageBean) throws Exception {
String sql = "select * from t_easyui_Permission where 1=1";
return super.executeQuery(sql, Permission.class, null);
}
// The third step
public List<TreeVo<Permission>> tree(Permission permission, PageBean pageBean) throws Exception {
List<Permission> listPermission = this.list(permission, pageBean);
List<TreeVo<Permission>> listVo = new ArrayList<TreeVo<Permission>>();
for (Permission p : listPermission) {
System.out.println(p);
TreeVo<Permission> vo=new TreeVo<>();
vo.setId(p.getId()+"");
vo.setText(p.getName());
vo.setParentId(p.getPid()+"");
Map<String, Object> map =new HashMap<String, Object>();
map.put("self", p);
vo.setAttributes(map);
listVo.add(vo);
}
return BuildTree.buildList(listVo,"0");
}
public List<TreeVo<Permission>> treePlus(String ids) throws Exception {
List<Permission> listPermission = this.listPlus(ids);
List<TreeVo<Permission>> listVo = new ArrayList<TreeVo<Permission>>();
for (Permission p : listPermission) {
System.out.println(p);
TreeVo<Permission> vo=new TreeVo<>();
vo.setId(p.getId()+"");
vo.setText(p.getName());
vo.setParentId(p.getPid()+"");
Map<String, Object> map =new HashMap<String, Object>();
map.put("self", p);
vo.setAttributes(map);
listVo.add(vo);
}
return BuildTree.buildList(listVo,"0");
}
public List<Permission> listPlus(String ids) throws Exception {
String sql = "select * from t_easyui_Permission where id in ("+ids+")";
return super.executeQuery(sql, Permission.class, null);
}
/* at present :
* It is to query all menu data to form a hierarchical structure of attributes
* 1.select * from t_easyui_Permission where 1=1 and id in( Merchant menu id/ Buyer menu id)
* 2. buyers / The menu of the merchant id It is in the role permission table t_easyui_role_permission In order to get , adopt user In the table TYPE Field to query
*
* */
// public static void main(String[] args) {
// PermissionDao p = new PermissionDao();
// try {
// List<TreeVo<Permission>> l = p.tree(null, null);
// for (TreeVo<Permission> t : l) {
// System.out.println(t);
// }
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
}
RolePermissionDao
package com.mjx.dao;
import java.util.List;
import com.mjx.entity.RolePermission;
import com.zking.util.BaseDao;
public class RolePermissionDao extends BaseDao<RolePermission> {
// adopt rid Find out the corresponding pid
public List<RolePermission> findRolePermission(int type) throws Exception {
String sql = "select * from t_easyui_role_Permission where rid = "+type;
return super.executeQuery(sql, RolePermission.class, null);
}
}
Running results
The seller javaxl Sign in 
Ordinary buyers dzl Sign in 
边栏推荐
- Automatic reply of wechat official account development message
- Ilssi certification | the course of Six Sigma DMAIC
- 152. Product maximum subarray
- Baidu rich text editor ueeditor image width 100% adaptive, mobile terminal
- [redis] redis installation
- Chapter V: process control
- 复旦大学EMBA同学同行专题:始终将消费者的价值放在最重要的位置
- Fudan University EMBA peer topic: always put the value of consumers in the most important position
- Two methods of importing sqllite table from MySQL
- Wechat applet does not use plug-ins, rendering videos in rich text, image adaptation, plus version
猜你喜欢

How to delete Microsoft Pinyin input method in win10

MySQL linked table query, common functions, aggregate functions

Automatic reply of wechat official account development message

微信公众号开发之消息的自动回复

2022年最新北京建筑施工焊工(建筑特种作业)模拟题库及答案解析
![[xiao5 chat] check the official account < the service provided by the official account has failed, please wait a moment>](/img/b2/cbba006e5d1ada959f494336e93f39.png)
[xiao5 chat] check the official account < the service provided by the official account has failed, please wait a moment>

数据分析与隐私安全成 Web3.0 成败关键因素,企业如何布局?

Frustrated Internet people desperately knock on the door of Web3

【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part4):结合问题分类的问题解析与检索语句生成

为什么 4EVERLAND 是 Web 3.0 的最佳云计算平台
随机推荐
Register service instances in ngmodule through dependency injection
如何使用 4EVERLAND CLI 在 IPFS 上部署应用程序
Replicate swin on Huawei ascend910_ transformer
Test framework unittest test test suite, results output to file
[cloud co creation] explore how gaussdb helps ICBC create core financial data
Roson的Qt之旅#99 QML表格控件-TableView
自定义mvc项目登录注册和树形菜单
Hcip notes 12 days
jenkins的文件参数,可以用来上传文件
Jenkins' role based authorization strategy installation configuration
[xiao5 chat] check the official account < the service provided by the official account has failed, please wait a moment>
Use huggingface to quickly load pre training models and datasets in moment pool cloud
【目标检测】YOLOv5跑通VisDrone数据集
After 20 years of agitation, the chip production capacity has started from zero to surpass that of the United States, which is another great achievement made in China
Chapter VI succession
基于SqlSugar的开发框架循序渐进介绍(13)-- 基于ElementPlus的上传组件进行封装,便于项目使用
MySQL视图
WPF implements user avatar selector
为什么 4EVERLAND 是 Web 3.0 的最佳云计算平台
win10如何删除微软拼音输入法