权限管理页面,ajax异步刷新,获取当前用户权限-checkbox显示已选

1. 权限校验action

public class CheckPrivilegeAction extends Action{
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		PrivilegeForm pf = (PrivilegeForm) form;
		response.setContentType("text/json;charset=utf-8");
		List<String> urls = new ArrayList<String>();
		JSONArray json = null;
		try {
			urls = JMongoDB.getUserPrivilegeList(pf.getUid(), true);
			json = JSONArray.fromObject(urls);
			PrintWriter out = response.getWriter();
			
			System.out.println(json);
			out.print(json);
			out.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

}

2. 权限管理页面

<%@page import="com.db.po.Privilege"%>
<%@ page language="java" contentType="text/html; charset=gbk"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page import="com.db.po.User"%>
<%@page import="java.util.List"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<html>
<head>
<title>JSP for UserForm form</title>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
	$(function() {
		$("#uid").click(function() {
			var params = {
				uid : $("#uid").val()
			};
			$.ajax({
				url : "checkPrivilege.do",
				data : params,
				type : 'post',
				dataType : 'json',
				success : function(data) {
					// 获取权限集合,在checkbox里显示
					var inputs = document.getElementsByTagName("input");
					// 显示其它用户权限checkbox前,先清空当前checkbox已选
					for ( var i = 0; i < inputs.length; i++) {
						var o = inputs[i];
						if (o.type == "checkbox") {
							o.checked = "";
						}
					}
					// 为当前用户权限checkbox设置已选
					for ( var i = 0; i < inputs.length; i++) {
						var obj = inputs[i];
						if (obj.type == "checkbox") {
							for ( var j = 0; j < data.length; j++) {
								//alert("当前权限为:" + obj.value);
								if (data[j] == obj.value) {
									//alert("设置已选");
									obj.checked = "checked";
								}
							}
						}
					}
				},
				error : function() {
					alert("获取权限列表集合失败!");
				}
			});
		});
	});
</script>
</head>
<body>

	<%
		User user1 = (User) session.getAttribute("user");
		session.setAttribute("user", user1);

		if (user1 != null) {
			List<User> users = (List<User>) request.getAttribute("users");
			List<Privilege> privileges = (List<Privilege>) request
					.getAttribute("privileges");
	%>
	<form action="${pageContext.request.contextPath }/addPrivilege.do">
		<table align="center" width="80%" border="1"
			style="border-collapse: collapse">
			<caption>
				<h2>权限管理</h2>
			</caption>
			<tr>
				<td>用户列表</td>
				<td>权限列表</td>
			</tr>
			<tr>
				<td><select id="uid" name="uid">
						<%
							for (User user : users) {
									out.print("<option>" + user.getId() + "</option>");
								}
						%>
				</select></td>
				<td>
					<%
						for (Privilege p : privileges) {
					%> 
					<input type="checkbox" name="url" value="<%=p.getUrl()%>"
					id="url" /><%=p.getPriName()%>
					<%
				}
			%>
				</td>
			</tr>


			
			<tr>
				<td><html:submit>提交</html:submit>
				</td>
				<td><html:reset>重置</html:reset>
				</td>
			</tr>
		</table>
	</form>
	<%
		} else {
			response.sendRedirect(request.getContextPath() + "/login.jsp");
		}
	%>
	<div></div>
</body>
</html>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值