JavaEE学习日志(一百零八): 判断唯一用户名,ssm练习之角色模块、权限模块

判断唯一用户名

前端

<script type="text/javascript">
		/**
		 * 判断是否唯一用户名
		 */
		function isUniqueUsername(usernameText) {
			var username = usernameText.value;
			//请求Controller判断用户名是否唯一
			$.ajax({
				url:"${pageContext.request.contextPath}/user/isUniqueUsername",
				data:{"username":username},
				type:"post",
				success:function (data) {
					if(data=="false"){
						//如果返回false,不可以使用
						//提示用户用户名已经被占用 -- 设置文本框为红色边框 1px 实线
						$("#username").attr("style","border:red 1px solid");
						//保存按钮设置为不可用
						$("#saveBtn").prop("disabled",true);
					}else {
						//如果返回true,设置保存按钮可用
						//还原文本框状态
						$("#username").attr("style","");
						//保存按钮可用
						$("#saveBtn").prop("disabled",false);
					}

				}

			});
		}
	</script>

UserController

/**
     * 判断是否唯一用户名
     * @ResponseBody 把结果集转成json以流的形式返回
     * @param username
     * @return
     */
    @RequestMapping("/isUniqueUsername")
    @ResponseBody
    public String isUniqueUsername(String username){
        //判断是否存在该用户名
        boolean b = userService.isUniqueUsername(username);

        return String.valueOf(b);
    }

UserService

@Override
    public boolean isUniqueUsername(String username) {
        SysUser user = userDao.findAllUserByUsername(username);
        //user为null,说明可以使用
        return user==null;
    }

UserDao

/**
     * 判断唯一用户名
     * @param username
     * @return
     */
    @Select("select * from sys_user where username = #{username}")
    SysUser findAllUserByUsername(String username);

角色模块

查询所有角色

前端

<tbody>

<c:forEach items="${roleList}" var="role">
		<tr>
			<td><input name="ids" type="checkbox"></td>
			<td>${role.id }</td>
			<td>${role.roleName }</td>
			<td>${role.roleDesc }</td>																				
			<td class="text-center">
				<a href="${pageContext.request.contextPath}/pages/role-permission-add.jsp" class="btn bg-olive btn-xs">添加权限</a>
			</td>
		</tr>
	</c:forEach>
</tbody>

RoleController

@Controller
@RequestMapping("/role")
public class RoleController {
    @Autowired
    RoleService roleService;
    /**
     * 查询全部
     * @return
     */
    @RequestMapping("/findAll")
    public ModelAndView findAll(){
        //准备数据
        List<Role> roleList = roleService.findAll();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("roleList",roleList);
        modelAndView.setViewName("role-list");
        return modelAndView;
    }
}

RoleService

@Service
public class RoleServiceImpl implements RoleService {
    @Autowired
    RoleDao roleDao;
    @Override
    public List<Role> findAll() {
        return roleDao.findAll();
    }
}

RoleDao

 /**
     * 查询全部
     * @return
     */
    @Select("select * from sys_role")
    List<Role> findAll();

保存角色

RoleController

@RequestMapping("/save")
    public String save(Role role){
        roleService.save(role);
        return "redirect:/role/findAll";
    }

RoleService

@Service
@Override
    public void save(Role role) {
        roleDao.save(role);
    }

RoleDao

/**
     * 保存角色
     * @param role
     */
    @Insert("insert into sys_role values(role_seq.nextval,#{roleName},#{roleDesc})")
    void save(Role role);

权限模块

创建表:注意pid为该权限的上一级的id

create sequence permission_seq;

CREATE TABLE sys_permission(
	id number PRIMARY KEY,
	permissionName VARCHAR2(50) ,
	url VARCHAR2(50),
	pid number
)

查询全部

前端

<c:forEach items="${permissionList}" var="permission">
	<tr>
		<td><input name="ids" type="checkbox"></td>
		<td>${permission.id}</td>
		<td>${permission.permissionName}</td>
		<td>${permission.url}</td>
		<td class="text-center">
			<a href="${pageContext.request.contextPath}/pages/permission-add.jsp" class="btn bg-olive btn-xs">详情</a>
		</td>
	</tr>
</c:forEach>

PermissionController

@Controller
@RequestMapping("/permission")
public class PermissionController {
    @Autowired
    PermissionService permissionService;
    /**
     * 查询全部
     * @return
     */
    @RequestMapping("/findAll")
    public ModelAndView findAll(){
        //查询数据
        List<Permission> permissionList = permissionService.findAll();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("permissionList",permissionList);
        modelAndView.setViewName("permission-list");
        return modelAndView;
    }
}

PermissionService

@Service
public class PermissionServiceImpl implements PermissionService {
    @Autowired
    PermissionDao permissionDao;
    @Override
    public List<Permission> findAll() {
        return permissionDao.findAll();
    }
}

PermissionDao

public interface PermissionDao {
    /**
     * 查询全部
     * @return
     */
    @Select("select * from sys_permission")
    List<Permission> findAll();
}

保存回显

由于每个权限都要有父权限,所有添加一个下拉菜单

前端

在这里插入图片描述

<div class="panel panel-default">
					<div class="panel-heading">权限资源信息</div>
					<div class="row data-type">

						<div class="col-md-2 title">权限资源名称</div>
						<div class="col-md-4 data">
							<input type="text" class="form-control" name="permissionName"
								placeholder="权限资源名称" value="">
						</div>
						<div class="col-md-2 title">权限资源URL</div>
						<div class="col-md-4 data">
							<input type="text" class="form-control" name="url"
								placeholder="url" value="">
						</div>

						<div class="col-md-2 title">父权限</div>
						<div class="col-md-4 data">
							<select class="form-control select2" style="width: 100%"
									name="payType">
								<c:forEach items="${permissionList}" var="permission">
									<%--
										value:给程序员用的
										文本:客户看的
									--%>
									<option value="${permission.id}">${permission.permissionName}</option>
								</c:forEach>
							</select>
						</div>

					</div>
				</div>

PermissionController

/**
     * 添加数据回显
     * 查询所有的父权限
     * @return
     */
    @RequestMapping("/saveUI")
    public ModelAndView saveUI(){
        //查询数据
        List<Permission> permissionList = permissionService.findAllParentPermission();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("permissionList",permissionList);
        modelAndView.setViewName("permission-add");
        return modelAndView;
    }

PermissionService

@Override
    public List<Permission> findAllParentPermission() {
        return permissionDao.findAllParentPermission();
    }

PermissionDao

@Override
    public List<Permission> findAllParentPermission() {
        return permissionDao.findAllParentPermission();
    }

保存权限

PermissionController

/**
     * 保存权限
     * @param permission
     * @return
     */
    @RequestMapping("/save")
    public String save(Permission permission){
        permissionService.save(permission);
        return "redirect:/permission/findAll";
    }

PermissionService

@Override
    public void save(Permission permission) {
        permissionDao.save(permission);
    }

PermissionDao

/**
     * 保存权限
     * @param permission
     */
    @Insert("insert into sys_permission values(permission_seq.nextval,#{permissionName},#{url},#{pid})")
    void save(Permission permission);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值