`
it_iweb
  • 浏览: 9424 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

权限管理页面,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>



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics