java web 使用easyui 退出登录登录退出后进行回退弹框怎么去掉

web,Java,后台要获取easyui控件的参数。java,后台获取easy_编程_探探数码问答网
web,Java,后台要获取easyui控件的参数。java,后台获取easy
编辑: 探探数码问答网 &&&来源:用户发布&&&发布时间:&&&查看次数:69
web,Java了办,后台要获取easyui控件的参数。java,后台获取easy
【探讨解答】
菜鸟求教,javaeasyui怎么用DataGrid的属性quer...
&table id="tt" class="easyui-datagrid" url="mytable" toolbar="#tb" ...你上面的dataGrid应该只是个本地的例子吧,没有和后台交互吧!因为我看你的url="mytable",感觉不像是action请求;因为你说的queryParams是需要发送远程请求时,才起作用的; queryParams这个属性的作用其实就是在url的请求中添加额外的参数; 比...
更多相关内容
本站内容来自网友发布,本站无法保证其部分内容的正确性,请用户一定仔细辨别。
[] &&[联系QQ:885&971&98] &
沪ICP备号&jquery-easyui实现页面布局和增删改查操作(SSH2框架支持) - 上善若水任方圆 - ITeye博客
博客分类:
前几天心血来潮用jquery-easyui+spring、struts2、hibernate实现了一个系统的一小部分功能,下面给大家分享一下。
首先看运行效果:
【图一:登录页】
【图二:页面布局】
【图三:用户编辑层】
【图四:确认弹出框】
easyui插件简介在这就不赘述了,大家可以在iteye上找到很多该插件的相关消息。
如果页面需要使用easyui插件,需要引进一下js和css(使用的时候需要注意easyui版本依赖的jquery.js版本要对应):
&script type="text/javascript" src="&%=root%&/Web/common/js/jquery-1.4.4.min.js"&&/script&
&link rel="stylesheet" type="text/css" href="&%=root%&/Web/common/js/easyui/themes/default/easyui.css"&
&link rel="stylesheet" type="text/css" href="&%=root%&/Web/common/js/easyui/themes/icon.css"&
&script type="text/javascript" src="&%=root%&/Web/common/js/easyui/js/jquery.easyui.min.js"&&/script&
&script type="text/javascript" src="&%=root%&/Web/common/js/easyui/js/easyui-lang-zh_CN.js"&&/script&
为了让一个主页实现上下左右中的布局方式显示,这里就需要用到easyui一个叫layout的东西,通常有多种方式可以实现布局。
①使用js创建layout
首先定义一个div,设置region,title等属性(注html是没有region属性的,这是easyui专属属性)
&div id="cc" style="width:600height:400"&
&div region="north" title="North Title" split="true" style="height:100"&&/div&
&div region="south" title="South Title" split="true" style="height:100"&&/div&
&div region="east" iconCls="icon-reload" title="East" split="true" style="width:100"&&/div&
&div region="west" split="true" title="West" style="width:100"&&/div&
&div region="center" title="center title" style="padding:5background:#"&&/div&
然后在js中指定id为cc的div为layout:
$('#cc').layout(options);
简单介绍几个layout属性:
指定布局的标题名称
指定布局位置,分:东、西、南、北、中
是否显示边界
是否显示分界线从而用户可以拖动改变其大小
指定布局的图标样式
指定该布局远程调用的html路径
②让整个body使用easyui的cssclass:class="easyui-layout"自动创建layout
这也是我使用的方式,看下面代码:
&body class="easyui-layout"&
&!-- 正上方panel --&
&div region="north" style="height:100padding:10" href="&%=root%&/Web/common/page/top.html"&&/div&
&!-- 正左边panel --&
&div region="west" title="菜单栏" split="true" style="width:280padding1:1overflow:"&
&div class="easyui-accordion" fit="true" border="false"&
&!-- selected --&
&div title="用户权限管理" selected="true"&
&li&&a href="javascript:addTab('tabId_loginInfo','用户管理','&%=root%&/ospm/loginInfo/goLoginInfoMain.jhtml');"&用户管理&/a&&/li&
&li&&a href="javascript:addTab('tabId_privilege','权限管理','&%=root%&/ospm/loginInfo/goPrivilegeMain.jhtml');"&权限管理&/a&&/li&
&!-- 正中间panel --&
&div region="center" title="功能区" &
&div class="easyui-tabs" id="centerTab" fit="true" border="false"&
&div title="欢迎页" style="padding:20overflow:"&
&div style="margin-top:20"&
&h3&你好,欢迎来到权限管理系统&/h3&
&!-- 正下方panel --&
&div region="south" style="height:50" align="center"&
作者:白糖&br/&
运行效果如【图二:页面布局】
创建选项卡
【图二:页面布局】上面标记了在菜单栏点击“用户管理”链接即可在功能区创建一个叫“用户管理”的选项卡并加载相应数据。注意:用户管理页面是另一个jsp,需要远程调用。
最初我使用tabs的href属性来远程调用用户管理jsp,发现页面会有js冲突,导致用户管理页面的添加、编辑等各种功能失效,我猜想可能是js冲突,因为布局页引用了easyui,而用户管理jsp也引用了同样的easyui。
后来看了下项目经理ext的布局代码,原来在点击链接的时候会创建一个tabs,只是tabs的内容是一个iframe分隔:
* 创建新选项卡
* @param tabId
* @param title
选项卡标题
* @param url
选项卡远程调用路径
function addTab(tabId,title,url){
//如果当前id的tab不存在则创建一个tab
if($("#"+tabId).html()==null){
var name = 'iframe_'+tabId;
$('#centerTab').tabs('add',{
title: title,
closable:true,
cache : false,
//注:使用iframe即可防止同一个页面出现js和css冲突的问题
content : '&iframe name="'+name+'"id="'+tabId+'"src="'+url+'" width="100%" height="100%" frameborder="0" scrolling="auto" &&/iframe&'
不过群里也有些大神提醒:如果大量使用iframe会使页面性能降低,所以使用iframe分隔tabs只适合小型项目使用。
datagrid表格
easyui datagrid是争议最大的一个功能插件,很多人说它不开源,提供的api不全面,标题列内容可能不对齐,操作繁杂等等。其实个人觉得这个table的功能已经相当不错了,如果只需要做基本的显示则只需配很少的代码。
下面简单介绍下datagrid的使用:
①首先肯定需要有一个table标签,给它定义一个id,在js中通过id.datagrid方法即可创建表格
&table id="tt"&&/table&
$('#tt').datagrid(options);
②创建表格的列名有两种方式:第一种是直接在table标签中定义,第二种是在js中定义:
我使用的是第一种方式:
&!-- 表格 --&
id="loginInfoTable"
title="用户信息一览"
border="0"
cellspacing="0"
cellpadding="0"
iconCls="icon-edit"
width="98%"
idField="loginId"
pagination="true"
remoteSort="false"
singleSelect="false"
showFooter="false"
striped="true"
url="&%=root%&/ospm/loginInfo/doLoginInfoSearch.jhtml"&
&tr align="center"&
&th field="ck" width="20" checkbox="true" width="20"&&/th&
&th field="loginCode"
width="200"&用户名&/th&
&th field="statuValue"
width="100"&状态&/th&
&th field="opt" formatter='optFormater' width="150"&操作&/th&
第二种方式如下:
columns:[[
{field:'itemid',title:'Item ID',rowspan:2,width:80,sortable:true},
{field:'productid',title:'Product ID',rowspan:2,width:80,sortable:true},
{title:'Item Details',colspan:4}
{field:'listprice',title:'List Price',width:80,align:'right',sortable:true},
{field:'unitcost',title:'Unit Cost',width:80,align:'right',sortable:true},
{field:'attr1',title:'Attribute',width:100},
{field:'status',title:'Status',width:60}
③向后台请求数据
datagrid有一个属性叫url,在进入页面后,它会通过ajax方式向后台发送请求,后台封装相应数据(JSON格式)再返回给前台即可显示。注意:datagrid在回调函数中必须获得两项json数据:total表示查询出的总结过,rows表示显示在table中的数据集合。
* 封装Json数据
long total = 0; // 符合查询的总条数
List&LoginInfoTableDto& lstTable = // 查询结果
total = (Long) mapLoginInfo.get(Constant4Ospm.TOTAL);
if (mapLoginInfo.get(Constant4Ospm.SEARCH_RESULT) != null) {
lstTable = (List&LoginInfoTableDto&) mapLoginInfo
.get(Constant4Ospm.SEARCH_RESULT);
//注:如果从数据库查询不出数据,也必须封装一个空的json集合,不然页面就会报js错误
lstTable = new ArrayList&LoginInfoTableDto&();
JSONObject datas = new JSONObject();
// 设置总共有多少条记录
datas.put(Constant4Ospm.TOTAL, total);
// 设置当前页的数据
datas.put(Constant4Ospm.PAGE_SIZE, lstTable);
④后台数据与表格关联
后台过来的数据怎么与表格每一列对应呢?其实很简单:后台rows中包含了名叫LoginInfoTableDto的javabean-json集合,datagrid的field和idField对应LoginInfoTableDto中的一个属性(大体上是这样,当然field也可以不对应javabean的属性,你可以进行一些转换)。
⑤toolbar工具栏
【图二:页面布局】能够看到datagrid有“添加新用户”、“批量删除”等工具栏,这些工具栏的实现方式也很简单:
$('#loginInfoTable').datagrid({
toolbar:[{//正上方工具栏
text:'添加新用户',
iconCls:'icon-add',
handler:function(){
//点击工具栏运行的js方法
openDialog_add();
text:'批量删除',
iconCls:'icon-cancel',
handler:function(){
batch('delete');
...............
当然easyui datagrid还有很多其它的功能,网上有很多大神已经详细介绍过,这里就不赘述了。
对话框的使用也很简单:你只需要定义一个带id的div,在div中填入你需要在对话框中显示的内容,然后调用一下方法即可变成easyui的dialog:
&div id="dd" title="My Dialog" style="width:400height:200"&
Dialog Content.
$('#dd').dialog(options);
前面【图三:用户编辑层】就是一个dialog,大家看下代码:
&!-- 编辑 --&
&div id="loginInfoEdit" icon="icon-save"
style="padding: 5 width: 500 height: 300"&
&h5 id="loginInfoEdit_message" style="color:"&&/h5&
&div class="ToolTip_Form" id="table_loginInfoEdit" onkeydown="if(event.keyCode==13){loginInfoEdit();}"&
&input type="hidden" id="loginInfoEdit_loginId"&&/input&
&label&用户名:&/label&
&label id="loginInfoEdit_loginCode"&&/label&
&label&密码:&/label&
&input type="password" class="easyui-validatebox" id="loginInfoEdit_password" maxlength="20" required="true"&&/input&
&label&重复密码:&/label&
&input type="password" class="easyui-validatebox" id="loginInfoEdit_repassword" maxlength="20" required="true"&&/input&
&a href="#" class="easyui-linkbutton" icon="icon-ok" onclick="loginInfoEdit();"&提交&/a&
//设置弹出框的属性
function setDialog_edit(){
$('#loginInfoEdit').dialog({
title : '用户编辑',
modal: true,
//模式窗口:窗口背景不可操作
collapsible : true,
//可折叠,点击窗口右上角折叠图标将内容折叠起来
resizable : true
//可拖动边框大小
//打开对话框
function openDialog_edit(loginId,loginCode){
loginInfoEditReset(loginId,loginCode);
$('#loginInfoEdit').dialog('open');
//关闭对话框
function closeDialog_edit(){
$('#loginInfoEdit').dialog('close');
messager消息框
【图四:确认弹出框】就是一个消息框,easyui它可以模仿html的alert()、confirm()等提示框,而且画面更美观。
图四批量禁用的代码如下:
//禁用操作
$.messager.confirm('禁用提示', '你确定禁用下列用户吗?&br/&'+cods.join(','), function(r){
var url = root+'/ospm/loginInfo/doLoginInfoInvalid.jhtml?loginId='+loginId;
changeStatus(url);
很抱歉,只完成了用户管理一个模块的功能。
附件带项目源码,希望对大家有所帮助。(源码一包含项目源码和数据库,源码二包含项目jar包)
关键jar版本:hibernate3.3、spring2.6、struts2.1
数据库:mysql5.1
数据库连接池:bonecp 0.7
项目类型:eclipse - dynamic web project
登录帐号:admin
密码:admin
部署方式:
①下载“源码一”和“源码二”,然后分别解压 ②源码一包含项目源码和部分jar包以及*.sql;源码二包含其余jar包,直接放入OSPM\WebRoot\WEB-INF\lib目录下即可 ③使用eclipse打开,import导入项目 ④修改OSPM/config/mysql-jdbc.properties数据库连接帐号密码 ⑤使用eclipse自带插件:servers部署启动项目 ⑥访问http://localhost:8080/OSPM即可 需要注意的是,这个项目是eclipse下创建的dynamic web project不是tomcat项目 另一种方案: 完成上面①~④步骤以后把项目export成war包,直接放到tomcat的webapps下然后启动
下载次数: 21635
下载次数: 16427
浏览 162798
论坛回复 /
(47 / 76235)
楼主写的实体类跟一般用myeclipse自动生产的不一样,这样写有什么好处吗首先,这个实体类不是我写的,如果数据库几百张表像这样写肯定要写死的,我是通过Eclipse Hibernate映射插件直接生成的。好处很多,这个在你以后开发会慢慢领悟,我举一个最简单的例子:我想写依据LoginInfo的Hql查询语句,我会这样写:String hql = "SELECT * FROM "+LoginInfo.REF+" l WHERE l."+LoginInfo.PROP_LOGIN_CODE +"=?",我把每个table和字段都定义成一个常量,这样就避免了硬编码的问题。greenbig 写道还有登录这段,用了HashMap,好复杂啊,看不明登录这段代码的意思是:查询帐号、密码和状态与map中的值对应的结果。
你的后到好像没有较验 有没有后台较验的例子!分享一下/blog/979645
& 上一页 1
浏览: 2224105 次
来自: 成都
你那个“2004年Nutch创始人Doug Cutting基于 ...
不错,收x藏了推荐下,分表分库数据库中间件 Sharding- ...
我的就是这么弄得,到了页面还是那个格式的 。115994人阅读
java(27)
最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery easy ui,项目架构为spring mvc + spring jdbc,简单易用好上手!搭建好框架后开始了第一个任务,设计并实现一套简单的权限管理功能。
一套最基本的权限管理包括用户、角色、资源。
数据库设计
我的设计如下:
用户:user
角色:role
用户-角色:user_role
资源:resource(包括上级菜单、子菜单、按钮等资源)
角色-资源:role_resource
标准的权限管理系统设计为以上5张表。
注:用户、用户-角色我就不做说明了,这两个是很简单的两块,用户的crud,以及为用户分配角色(多对多的关系)稍微琢磨一下就清楚了,下面都是针对为角色分配权限的实现
展示层采用ztree树
&%@ page contentType=&text/charset=UTF-8&%&
&%@ include file=&/views/back/include/taglib.jsp&%&
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
&html xmlns=&http://www.w3.org/1999/xhtml&&
&meta name=&decorator& content=&back& /&
&script type=&text/javaScript&&
//打开菜单窗口
function openMenuDialog(){
var selected = $(&#list&).datagrid('getSelected');
if (selected != null) {
$(&#id&).val(selected.id);
queryMenus(selected.id);
$(&#menuWindow&).window(&open&);
$.messager.alert('提示', &未选择数据!&);
//角色-菜单信息入库
function ajaxSubmit(rid,idstr){
$.post(&${ctx}/roleMenu/save.jhtml&,{&roleId&:rid,&ids&:idstr},function(obj){
$.messager.alert('提示',obj.msg);
$(&#menuWindow&).window('close');
},'json');
&!-- ztree --&
&script type=&text/javascript&&
var tree = &&;
var setting = {
chkboxType:{&Y&:&ps&,&N&:&s&},//勾选checkbox对于父子节点的关联关系,取消勾选时不关联父
chkStyle:&checkbox&,
enable : true //是否复选框
simpleData : {
enable : true
//查询菜单信息
function queryMenus(roleId){
$.post('${ctx}/role/treedata.jhtml', {'roleId':roleId}, function(zNodes) {
for (var i = 0; i & zNodes. i++) {
if (zNodes[i].isParent) {
//zNodes[i].icon = &${ctxStatic}/images/532.ico&;//设置图标
tree = $.fn.zTree.init($(&#tree&), setting, zNodes);
tree.expandAll(true);//全部展开
//var nodes = treeObj.getNodes();
}, 'json');
//获取选中节点
function onCheck(){
var rid = $(&#id&).val();
var treeObj=$.fn.zTree.getZTreeObj(&tree&);
var nodes=treeObj.getCheckedNodes(true);
var ids = new Array();
for(var i=0;i&nodes.i++){
//获取选中节点的值
ids.push(nodes[i].id);
// v+=nodes[i].id + &,&;
//alert(nodes[i].id);
ajaxSubmit(rid,ids);
&!-- 数据表格 --&
&table id=&list& url='${ctx}/role/list/page.jhtml' method='post'
class=&easyui-datagrid& style=&width:100%;& fitcolumns=&true&
toolbar='#tb' pagination='true' rownumbers='true' singleSelect='true'&
&th field='name' sortable='true' width='100'&角色名称&/th&
&th field='description' width='200' align='right'&描述&/th&
&th field='createTimeFormat' width='150' align='center'&创建时间&/th&
&!-- 编辑栏
&div id=&tb& style=&padding:5px 5&&
&p2p:permission module=&role& code=&add&&&a href=&#& class=&easyui-linkbutton& iconCls=&icon-add& onclick=&openCreateDialog();&&新增&/a&&/p2p:permission&
&p2p:permission module=&role& code=&edit&&&a href=&#& class=&easyui-linkbutton& iconCls=&icon-edit& onclick=&openUpdateDialog();&&编辑&/a&&/p2p:permission&
&p2p:permission module=&role& code=&delete&&&a href=&#& class=&easyui-linkbutton& iconCls=&icon-remove& onclick=&del();&&删除&/a&&/p2p:permission&
&p2p:permission module=&role& code=&authority&&&a href=&#& class=&easyui-linkbutton& iconCls=&icon-edit& onclick=&openMenuDialog();&&设置权限&/a&&/p2p:permission&
&!-- 搜索项 --&
&div style=&margin-top:5padding-left:5px&&
&input id=&query_name& class=&easyui-textbox& type=&text& style=&width:110px& /&
创建日期: &input id=&query_startDate& class=&easyui-datebox& style=&width:110px&&
&input id=&query_endDate& class=&easyui-datebox& style=&width:110px&&
&a onclick=&reload();& href=&#& class=&easyui-linkbutton& iconCls=&icon-search&&查询&/a&
&!-- 权限窗口 --&
&div id=&menuWindow& class=&easyui-window& title=&配置权限& data-options=&modal:true,iconCls:'icon-save',footer:'#menuWindowfooter'& style=&width:350height:420padding:10px&&
&div id=&tree& class=&ztree& style=&padding: 10px 20&&&/div&
&div id=&menuWindowfooter& style=&padding:5text-align:&&
&a href=&#& onclick=&onCheck();& class=&easyui-linkbutton& data-options=&iconCls:'icon-save'&&提交&/a&
RoleAction.java
@RequestMapping(value = &/treedata.jhtml&)
@ResponseBody
public String treedata(HttpServletRequest request, Model model) {
DynamicParams params = new DynamicParams(request);
List&Map&String, Object&& mapList = Lists.newArrayList();
params.put(&allMenu&, &allMenu&);
List&Menu& list = authManager.findMenuList(params);
List&RoleMenu& roleMenus = authManager.findRoleMenuList(params);
for (int i = 0; i & list.size(); i++) {
Menu e = list.get(i);
Map&String, Object& map = Maps.newHashMap();
map.put(&id&, e.getId());
map.put(&pId&, e.getParentId() != null ? e.getParentId() : 0);
map.put(&name&, e.getName());
for (RoleMenu roleMenu : roleMenus) {
if (roleMenu.getMenuId() == e.getId()) {
map.put(&checked&, true);
mapList.add(map);
return toJson(mapList);
AuthManager.java
// 菜单管理
public List&Menu& findMenuList(DynamicParams params) {
List&Menu& menus = new ArrayList&Menu&();
if (&allMenu&.equals(params.getString(&allMenu&))) {
menus = menuDao.findList(params);
// 通过用户查询角色
List&UserRole& userRoles = userRoleDao.findList(params);
// 通过角色查询菜单
List&RoleMenu& roleMenus = new ArrayList&RoleMenu&();
if (userRoles != null && userRoles.size() & 0) {
for (UserRole userRole : userRoles) {
params = new DynamicParams();
if (userRole != null) {
if (userRole.getRoleId().equals(params.getString(&rid&))) {
params.put(&roleId&, userRole.getRoleId().toString());
List&RoleMenu& rms = roleMenuDao.findList(params);
for (RoleMenu roleMenu : rms) {
roleMenus.add(roleMenu);
// 查询菜单信息
for (RoleMenu roleMenu : roleMenus) {
if (roleMenu != null) {
Menu menu = menuDao.find(roleMenu.getMenuId());
if (menu != null) {
menus.add(menu);
menus = removeDuplicate(menus);
Collections.sort(menus);
* 去除菜单中重复项
* @param list
private List&Menu& removeDuplicate(List&Menu& list) {
List&Menu& result = new ArrayList&Menu&();
Set&Long& menuIds = new HashSet&Long&();
for (int i = 0; i & list.size(); i++) {
Menu m = list.get(i);
if (m != null && menuIds.add(m.getId())) {
result.add(m);
public List&RoleMenu& findRoleMenuList(DynamicParams params) {
List&RoleMenu& roleMenus = roleMenuDao.findList(params);
return roleM
protected void createQuery(DynamicParams params, StringBuffer sql, List&Object& args) {
sql.append(&select s.* from sys_menu s where 1=1 &);
String parentId = params.getString(&parentId&);
if (StringUtils.isNotBlank(parentId)) {
sql.append(& and parent_id = ? &);
args.add(parentId);
String sort = params.getString(&sort&);
String order = params.getString(&order&);
if (StringUtils.isNotBlank(sort)) {
sql.append(& order by &).append(hump2underline(sort));
if (StringUtils.isNotBlank(order)) {
sql.append(& & + order);
sql.append(& desc &);
sql.append(&order by sort asc,id desc &);
userRoleDao
protected void createQuery(DynamicParams params, StringBuffer sql, List&Object& args) {
sql.append(&select s.* from sys_user_role s where 1=1 &);
Long adminId = params.getLong(&adminId&);
if (adminId != null) {
sql.append(& and s.user_id = ?&);
args.add(adminId);
roleMenuDao
protected void createQuery(DynamicParams params, StringBuffer sql, List&Object& args) {
sql.append(&select s.* from &).append(&sys_role_menu&).append(& s where 1=1 &);
Long adminId = params.getLong(&roleId&);
if (adminId != null) {
sql.append(& and s.role_id = ?&);
args.add(adminId);
在WEB-INF目录下建立文件夹tlds 建立自定义标签文件shiros.tld,我们通过自定义标签实现页面按钮的控制。
&span style=&color:#333333;&&&?xml version=&1.0& encoding=&UTF-8& ?&
&taglib xmlns=&/xml/ns/j2ee& xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xsi:schemaLocation=&/xml/ns/j2ee /xml/ns/j2ee/web-jsptaglibrary_2_0.xsd&
version=&2.0&&
&description&p2p permission taglib&/description&
&display-name&permission taglib&/display-name&
&tlib-version&1.0&/tlib-version&
&short-name&p2p_back&/short-name&
&uri&/&/uri&
&description&权限校验标签,有权限就显示标签体的内容,否则不显示&/description&
&name&permission&/name&
&tag-class&com.vanfon.p2p.back.tag.PermissionTag&/tag-class&
&body-content&JSP&/body-content&
&attribute&
&description&&/description&
&name&module&/name&
&required&true&/required&
&rtexprvalue&false&/rtexprvalue&
&/attribute&
&attribute&
&description&&/description&
&name&code&/name&
&required&true&/required&
&rtexprvalue&false&/rtexprvalue&
&/attribute&
&/taglib&&/span&
自定义标签类
package com.vanfon.p2p.back.
import java.util.L
import javax.servlet.http.HttpServletR
import javax.servlet.jsp.JspE
import javax.servlet.jsp.tagext.TagS
import com.vanfon.p2p.entity.system.A
import com.vanfon.p2p.entity.system.M
import com.vanfon.p2p.manager.system.AuthM
import com.vanfon.p2p.utils.DynamicP
import com.vanfon.p2p.utils.SpringContextH
* 权限控制标签
* @author zhangwx
public class PermissionTag extends TagSupport {
private static final long serialVersionUID = 1389132L;
private S// 属性名必须与JSP自定义标签的属性名一样
public String getModule() {
public void setModule(String module) {
this.module =
public String getCode() {
public void setCode(String code) {
this.code =
public int doStartTag() throws JspException {
boolean result =
HttpServletRequest request = (HttpServletRequest) this.pageContext.getRequest();// 通过成员变量获取HttpServletRequest对象
Admin admin = (Admin) request.getSession().getAttribute(&admin&);// 获取登录到系统的用户
if (admin != null) {
if (&1&.equals(String.valueOf(admin.getIfsuper()))) {// 超级管理员
DynamicParams params = new DynamicParams();
params.put(&id&, String.valueOf(admin.getId()));
params.put(&module&, this.module);
params.put(&code&, this.code);
AuthManager authManager = SpringContextHolder.getBean(AuthManager.class);
List&Menu& userRoleAuths = authManager.findUserRoleAuthList(params);
if (userRoleAuths != null && userRoleAuths.size() & 0) {
return result ? EVAL_BODY_INCLUDE : SKIP_BODY;
以上就是该权限管理中权限树(为角色分配权限)的大体实现。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:964492次
积分:6734
积分:6734
排名:第3526名
原创:107篇
转载:24篇
评论:443条
(1)(20)(1)(3)(3)(10)(2)(11)(20)(1)(1)(9)(8)(27)(14)

我要回帖

更多关于 java web easyui 的文章

 

随机推荐