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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章