jeesite 说明文档-3.内置组件的应用

合集下载

JeeSite开发(一)——JeeSite4开发基础实例

JeeSite开发(一)——JeeSite4开发基础实例

JeeSite开发(⼀)——JeeSite4开发基础实例⽬录: 〇、开发环境 ⼀、JeeSite介绍 ⼆、获取JeeSite4 三、运⾏JeeSite后台(部署运⾏) 四、启动并访问 五、增加⼀个功能模块〇、开发环境 JDK1.8、eclipse、maven、MySQL57⼀、JeeSite介绍 JeeSite 基于最主流的 Spring Boot 2 + MyBatis + Shiro + J2Cache/Redis + Beetl 的稳定架构。

前端采⽤了⽬前极为流⾏的扁平化响应式的设计风格,可以完美兼容电脑,平板,⼿机等多个平台。

基于 jQuery + Bootstrap + AdminLTE 实现。

⽤JeeSite可以快速搭建⼀个web⽹站,⽽且可以不写或者只需写很少的业务代码。

⼆、获取JeeSite4 以下为其⽬录:三、运⾏JeeSite后台(部署运⾏)3.1 引⼊项⽬ 1.将以上的web⽬录复制到⾃⼰的⼯作⽬录,并按需重命名(例如:jeesite-demo)。

2.打开其中的poi.xml⽂件,修改其中的第⼗三⾏,改为您刚刚修改的⽂件夹名,例如:<artifactId>jeesite-demo</artifactId> 3.⽽后在eclipse中将其引⼊进来,右键空⽩处->Import->选择Maven下的Existing Maven Projects,点确定,此时Maven会⾃动加载依赖包,效果如下。

3.2 初始化数据库 1.配置my.ini:打开MySQL安装⽂件夹下的my.ini⽂件, 在[mysqld]下增加 sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 2.在MySQL中创建⽤户和数据库set global read_only=0;set global optimizer_switch='derived_merge=off';create user 'jeesite'@'%' identified by 'jeesite';create database jeesite DEFAULT CHARSET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';grant all privileges on jeesite.* to 'jeesite'@'%' identified by 'jeesite';flush privileges; 3.在刚刚引⼊的项⽬中,找到 /src/main/resources/config/application.yml ⽂件,修改MySQL数据库配置:# 数据库连接jdbc:# Mysql 数据库配置type: mysqldriver: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/jeesite?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNullusername: jeesitepassword: jeesitetestSql: SELECT 1 4.双击运⾏项⽬下的 /bin/init-data.bat 脚本,将会⾃动初始化数据库(建表)四、启动并访问 1.可在 /src/main/resources/config/application.yml ⽂件中修改服务器端⼝和部署路径server:port: 8980servlet:context-path: /jeesite-demotomcat:uri-encoding: UTF-8 2.启动:由于JeeSite集成了Spring boot框架,即内部集成了tomcat服务器,所以只需右键点击com.jeesite.modules.config.Application.java⽂件,再点击 Run As -> Java Application 即可启动服务。

JeeSite的Excel导入、导出、支持大数据量,使用annotation最小化配置

JeeSite的Excel导入、导出、支持大数据量,使用annotation最小化配置

JeeSite的Excel导⼊、导出、⽀持⼤数据量,使⽤annotation最⼩化配置介绍:优点:1. 简单易⽤,⽀持⼤数量导出,配置简单,代码量少。

2. ⽀持Excel 2003、2007、2010(xls、xlsx)格式。

3. ⽀持简单格式设置,对齐⽅式,排序等4. 可导出字典类型数据,⾃定义数据字段类型(例如:部门关联对象,部门名称与部门编号互转)。

5. ⽆需建⽴导⼊模板,系统⾃动⽣成。

缺点:1. 格式单⼀,⽆法导出格式⽐较复杂的表格。

2. 不能使⽤模板进⾏导⼊,导出。

使⽤⽰例:1、导出实体对象中的annotation的定义(ExcelField说明见:5、ExcelField定义说明):Java代码1. @Entity2. @Table(name = "sys_user")3. public class User extends BaseEntity {4.5. private Long id; // 编号6. ...7. ...8. ...9. private List<Role> roleList = Lists.newArrayList(); // 拥有⾓⾊列表10.11. @Id12. @ExcelField(title="ID", type=1, align=2, sort=1)13. public Long getId() {14. return id;15. }16. @ManyToOne17. @ExcelField(title="所属区域", align=2, sort=10)18. public Area getArea() {19. return area;20. }21. @ManyToOne22. @ExcelField(title="所属部门", align=2, sort=20)23. public Office getOffice() {24. return office;25. }26. @Length(min=1, max=100)27. @ExcelField(title="姓名", align=2, sort=40)28. public String getName() {29. return name;30. }31. @Length(min=0, max=100)32. @ExcelField(title="⽤户类型", align=2, sort=80, dictType="sys_user_type")33. public String getUserType() {34. return userType;35. }36. @ExcelField(title="创建时间", type=0, align=1, sort=90)37. public Date getCreateDate() {38. return createDate;39. }40. @ExcelField(title="最后登录⽇期", type=1, align=1, sort=110)41. public Date getLoginDate() {42. return loginDate;43. }44. @ManyToMany45. @ExcelField(title="拥有⾓⾊", align=1, sort=800, fieldType=RoleListType.class)46. public List<Role> getRoleList() {47. return roleList;48. }49. }2、Excel导出⽰例:Java代码1. public String exportFile(User user) {2. try {3. String fileName = "⽤户数据"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";4. // 查询数据5. Page<User> page = systemService.findUser(new Page<User>(request, response, -1), user);6. // 1:创建Excel导出对象;2:设置数据;3:写⼊输出流;4:临时数据销毁7. new ExportExcel("⽤户数据", User.class)8. .setDataList(page.getList())9. .write(response, fileName)10. .dispose();11. return null;12. } catch (Exception e) {13. addFlashMessage("导出⽤户失败!失败信息:"+e.getMessage());14. }15. return "redirect:"+BaseController.ADMIN_PATH+"/sys/user/?repage";16. }3、Excel 导⼊⽰例:Java代码1. public String importFile(MultipartFile file) {2. try {3. int successNum = 0;4. int failureNum = 0;5. StringBuilder failureMsg = new StringBuilder();6. // 创建导⼊Excel对象7. ImportExcel ei = new ImportExcel(file, 1, 0);8. // 获取传⼊Excel⽂件的数据,根据传⼊参数类型,⾃动转换为对象9. List<User> list = ei.getDataList(User.class);10. // 遍历数据,保存数据11. for (User user : list){12. try{13. if ("true".equals(checkLoginName("", user.getLoginName()))){14. user.setPassword(SystemService.entryptPassword("123456"));15. BeanValidators.validateWithException(validator, user);16. systemService.saveUser(user);17. successNum++;18. }else{19. failureMsg.append("<br/>登录名 "+user.getLoginName()+" 已存在; ");20. failureNum++;21. }22. }catch(ConstraintViolationException ex){23. failureMsg.append("<br/>登录名 "+user.getLoginName()+" 导⼊失败:");24. List<String> messageList = BeanValidators.extractPropertyAndMessageAsList(ex, ": ");25. for (String message : messageList){26. failureMsg.append(message+"; ");27. failureNum++;28. }29. }catch (Exception ex) {30. failureMsg.append("<br/>登录名 "+user.getLoginName()+" 导⼊失败:"+ex.getMessage());31. }32. }33. if (failureNum>0){34. failureMsg.insert(0, ",失败 "+failureNum+" 条⽤户,导⼊信息如下:");35. }36. addFlashMessage("已成功导⼊ "+successNum+" 条⽤户"+failureMsg);37. } catch (Exception e) {38. addFlashMessage("导⼊⽤户失败!失败信息:"+e.getMessage());39. }40. return "redirect:"+BaseController.ADMIN_PATH+"/sys/user/?repage";41. }4、Excel 导⼊模板下载⽰例Java代码1. public String importFileTemplate() {2. try {3. String fileName = "⽤户数据导⼊模板.xlsx";4. List<User> list = Lists.newArrayList(); list.add(UserUtils.getUser(true));5. // 第三个参数设置为“2”表⽰输出为导⼊模板(1:导出数据;2:导⼊模板)6. new ExportExcel("⽤户数据", User.class, 2).setDataList(list).write(response, fileName).dispose();7. return null;8. } catch (Exception e) {9. addFlashMessage("导出⽤户失败!失败信息:"+e.getMessage());10. }11. return "redirect:"+BaseController.ADMIN_PATH+"/sys/user/?repage";12. }5、ExcelField定义说明:Java代码1. /**2. * Copyright &copy; 2012-2013 <a href="https:///thinkgem/jeesite">JeeSite</a> All rights reserved.3. *4. * Licensed under the Apache License, Version 2.0 (the "License");5. */6. package mon.utils.excel.annotation;7.8. import ng.annotation.ElementType;9. import ng.annotation.Retention;10. import ng.annotation.RetentionPolicy;11. import ng.annotation.Target;12.13. /**14. * Excel注解定义15. * @author ThinkGem16. * @version 2013-03-1017. */18. @Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE})19. @Retention(RetentionPolicy.RUNTIME)20. public @interface ExcelField {21.22. /**23. * 导出字段名(默认调⽤当前字段的“get”⽅法,如指定导出字段为对象,请填写“对象名.对象属性”,例:“”、“”)24. */25. String value() default "";26.27. /**28. * 导出字段标题29. */30. String title();31.32. /**33. * 字段类型(0:导出导⼊;1:仅导出;2:仅导⼊)34. */35. int type() default 0;36.37. /**38. * 导出字段对齐⽅式(0:⾃动;1:靠左;2:居中;3:靠右)39. */40. int align() default 0;41.42. /**43. * 导出字段字段排序(升序)44. */45. int sort() default 0;46.47. /**48. * 如果是字典类型,请设置字典的type值49. */50. String dictType() default "";51.52. /**53. * 反射类型54. */55. Class<?> fieldType() default Class.class;56.57. }。

组件库使用说明文档

组件库使用说明文档

组件库使用说明文档哎呀,今天咱们来聊聊组件库这玩意儿,真是个好东西,简直就是开发者的“救命稻草”。

你要问我什么是组件库,简单说就是一堆现成的代码块,能帮你轻松搞定界面设计,省时省力,简直是如虎添翼!别小看这些代码块,个个都是精英,能让你在项目中游刃有余,像在自家厨房里翻炒菜一样顺手。

说到组件库,首先得提提它的优势。

你看啊,开发一个界面可不是轻松活,代码写得跟飞一样,结果一运行就像开了个“黑洞”,整个页面都崩了。

这时候,组件库就像是你的“老朋友”,给你提供了一整套成熟的、可复用的组件,真是省心又省力,心里美滋滋。

就像去饭馆吃饭,老板把菜端上来,你只管享用,不用自己下厨,这种感觉谁不喜欢?组件库的美妙之处在于它的统一性。

想想看,要是每个开发者都随心所欲,界面设计就像“百花齐放”,结果出来的东西,那简直就是“乱七八糟”。

可组件库帮你解决了这个问题,保证了每个组件都能搭配得天衣无缝,整个界面就像一幅和谐美丽的画卷,赏心悦目,别人看了都想夸两句。

用起来也特别方便。

咱们打开组件库,找找看,哎呀,居然有个按钮组件,样式好看又实用,点一下就能用。

再来一段输入框,配上验证功能,用户输入一秒搞定,哎呀,真是给用户一种“宾至如归”的感觉。

这种感觉,嘿,简直就像打开了“新世界的大门”,心里乐开了花。

组件库的灵活性也是不得不提的。

你想要的功能,组件库里几乎都有,随你挑选。

想改变样式?没问题,几行代码搞定。

想加个动画效果?简单,轻轻松松就来。

不像以前,想要改个按钮的颜色,整个人都要崩溃,写一堆冗长的代码,最后还不一定成功,真是让人捶胸顿足。

现在有了组件库,真是事半功倍,太省心了!组件库的更新迭代也很快,像是追星一样,更新一出,大家都争先恐后去体验新的功能。

这些开发者们就像勤劳的小蜜蜂,不断打磨这些组件,给我们带来更好的使用体验。

你会发现,之前用的某个组件,今天突然变得更炫酷了,心里那个美呀,感觉自己就像是站在潮流的前端。

使用组件库也有小细节需要注意。

jeesite说明文档3.内置组件应用

jeesite说明文档3.内置组件应用

第3章内置组件的应用作者:ThinkGem更新日期:2014-01-05 1.经常使用组件1.1.布局组件布局文件配置:/ jeesite/src/main/webapp/WEB-INF/默许布局文件:/ jeesite/src/main/webapp/WEB-INF/views/layouts/非公共,自己成立的布局文件:/ jeesite/src/main/webapp/WEB-INF/views/模块途径/layouts/布局文件.jsp利用布局文件:JSP的head里添加:<meta name="decorator" content="default"/> 1.2.用户工具应用处景:在java文件或jsp页面上,获取当前用户相关信息1.获取当前用户:1)();2)()3)${fns:getUser()}2.获取当前用户部门:1)()2)${fns:getOfficeList()}3.获取当前用户区域:1)()2)${fns:getAreaList()}4.获取当前用户菜单:1)()2)${fns:getMenuList()}5.获取当前用户缓存:1)(key);2)${fns:getCache(cacheName, defaultValue)}6.设置当前用户缓存:1)(key);1.3.全局缓存应用处景:系统字典1.设置应用程序缓存:(key);2.获取应用程序缓存:(key);1.4.字典工具应用处景:系统全局固定的字典数据,java或jsp中获取字典相关数据。

1.依照类型和值获取字典标签(列表取值):a)(String value, String type, String defaultValue)b)${ fns:getDictLabel (value, type, defaultValue)}2.依照类型和标签获取字典值(依照标签取值):a)(String label, String type, String defaultLabel)b)${fns:getDictValue(label, type, defaultValue)}3.依照类型获取字典列表(下拉框,复选框,单项选择框):a)(String type)b)${fns:getDictList(type)}1.5.功能权限操纵应用处景:访问功能授权,查看权限,编辑权限,导入权限,审核权限。

jeesite 页面 formatter 用法 -回复

jeesite 页面 formatter 用法 -回复

jeesite 页面formatter 用法-回复jeesite是一个基于Java的快速开发平台,提供了大量的开发工具和畅捷的开发方式,使开发人员能够快速构建高质量的Web应用程序。

其中,页面formatter是jeesite平台中一个非常重要的组件,它主要用于对页面的数据进行格式化和处理,以达到页面数据展示的规范和美观效果。

在jeesite平台上,我们可以使用页面formatter实现以下几个方面的功能:1. 数据格式化:jeesite的页面formatter可以帮助我们对页面上展示的数据进行格式化处理。

例如,在用户管理模块中,我们可能需要将用户的注册时间以特定的格式展示,使用formatter就可以很方便地实现这一需求。

2. 数据转换:有时候,我们需要将页面上展示的数据进行转换,例如将数字型的数据转换为字符型,或者将日期型的数据转换为特定的显示格式。

在jeesite平台上,我们可以通过定义formatter来实现这些转换功能,使得页面数据的展示更加符合用户的需求。

3. 数据校验:在表单提交的过程中,我们需要对输入的数据进行校验,以保证数据的合法性。

jeesite的formatter组件提供了强大的数据校验功能,可以帮助开发人员快速实现表单校验的需求,提高开发效率和数据安全性。

使用jeesite页面formatter的步骤如下:步骤一:创建formatter类首先,我们需要创建一个类来实现formatter的功能。

这个类通常继承自jeesite中的Formatter类,并实现其中的format和parse方法。

format 方法用于将数据格式化为字符串进行展示,而parse方法则用于将字符串解析为数据类型进行后续处理。

步骤二:注册formatter在jeesite平台上,我们需要将自定义的formatter注册到系统中,以便系统能够识别和使用这个formatter。

注册的方式通常是在系统启动时将formatter添加到FormatterRegistry中。

IDEA部署jeesite3完美运行教程详解

IDEA部署jeesite3完美运行教程详解

IDEA部署jeesite3完美运⾏教程详解
jeesite3的官⽅⽂档⾮常坑爹,按那个部署是不能正常运⾏的,IDEA2018/2019完美运⾏教程如下:
2. 打开IDEA,选择open,导⼊克隆的 jeesite项⽬
3. 修改 jeesite\jeesite\src\main\resources\jeesite.properties 中的数据库⽤户名和密码,改成⾃⼰电脑的即可,如果有提⽰需要MAVEN下载jar包,选择auto那个。

jeesite.properties 配置⽂件最下⾯有个被注释掉的⼯程路径配置,那个不要管,不要按官⽅⽂档说明去修改!
4. 在navicat中创建 jeesite 数据库后运⾏ init-db.bat,创建出 jeesite3项⽬需要的表
5.返回IDEA,在下⽅的Terminal⼯具栏中输⼊:mvn clean install 命令,⾃动构架⼯程。

6.提⽰“BUILD SUCCESS"时,配置tomcat
7.0。

AJP port那⼀栏要为空,JVM那边要填上 -Dfile.encoding=UTF-8
7. 选择Apply然后OK,运⾏Tomcat即可正常启动 jeesite3项⽬
8. 浏览器进⼊“127.0.0.1:8080/jeesite",输⼊⽤户名 thinkgem 和密码 admin 即可正常访问
到此这篇关于IDEA部署jeesite3完美运⾏教程详解的⽂章就介绍到这了,更多相关IDEA部署jeesite3内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

jeesite 字段控制

jeesite 字段控制

jeesite 字段控制Jeesite字段控制为标题,下面将介绍Jeesite中的字段控制功能以及它的作用。

一、什么是Jeesite字段控制?Jeesite是一款基于Java开发的开源框架,用于快速搭建企业级Java Web应用。

在Jeesite中,字段控制是指通过对表单中的字段进行配置和管理,实现对字段的显示、验证、权限等方面的控制。

通过字段控制,开发人员可以灵活地对表单进行定制,满足不同业务需求。

二、字段控制的作用1. 显示控制:字段控制可以根据业务需求决定字段是否显示。

例如,在某些情况下,某个字段可能需要隐藏起来,只在特定条件下才显示出来,通过字段控制就可以实现这一功能。

2. 验证控制:字段控制可以对字段进行验证,确保用户输入的数据符合一定的规则和格式。

例如,对于手机号码字段,可以通过字段控制设置必须为11位数字的验证规则。

3. 权限控制:字段控制可以对字段的访问权限进行管理。

通过字段控制,可以设置某些字段只能由特定角色或用户访问,从而实现对敏感数据的保护。

4. 其他控制:字段控制还可以实现其他一些功能,如字段的默认值设置、只读控制等。

三、如何进行字段控制在Jeesite中,字段控制是通过在实体类中使用注解来实现的。

以下是一些常用的字段控制注解:1. @FormField:用于配置字段的显示名称、验证规则等信息。

2. @ExcelField:用于配置字段在Excel导入导出时的相关信息。

3. @ShowInView:用于配置字段在列表、详情等页面中的显示方式。

4. @DataScope:用于配置字段的权限控制范围。

5. @DictType:用于配置字段的字典类型,实现数据字典的功能。

四、字段控制的实例下面以一个示例来说明字段控制的实际应用。

假设有一个用户管理系统,其中包含一个用户信息表,需要对用户信息进行管理和展示。

在这个示例中,我们可以使用字段控制来实现以下功能:1. 设置用户名字段为必填项,并限制长度为6-20个字符。

JEEWeb开发相关技术介绍

JEEWeb开发相关技术介绍


ExtJS


YUI




AJAX 不是一种新的编程语言,而是一种用于创 建更好更快以及交互性更强的 Web 应用程序的 技术 使用 JavaScript 的 XMLHttpRequest 对象来直 接与服务器进行通信 AJAX 是一种独立于 Web 服务器软件的浏览器 技术




Web2.0 是相对Web1.0 的新的一类互联网应用的 统称 Web1.0 的主要特点在于用户通过浏览器获取信 息 Web2.0 则更注重用户的交互作用,用户既是网 站内容的浏览者,也是网站内容的制造者 BLOG、 RSS、 Wiki、 SNS等是Web2.0典型应 用

谢谢!


Web Services是由企业或组织发布的完成其特定 业务需求的在线应用服务,其他企业或组织或 webservice客户端软件能够通过网络来访问并使 用这项在线服务 关键技术

XML:描述数据的标准方法 SOAP:表示信息交换的协议 Web服务描述语言 UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于 平台的,基于XML语言的用于在网络上描述服务的协 议

单机使用的应用程序 大多数的工具软件 非交互式的WEB网站

分层 模块化 组件化

架构是组件彼此间和与环境间的关系,引导设计 发展原则中体现的系统的基本结构。

组件:是包括内容的系统模型部分,且它的显示是可 替换的。组件定义了所需接口的行为
系统:是实现了某个(些)特殊作用的组件的集合。 一个系统是为了实现一个或多个任务而存在 环境:是影响系统的设置和条件 任务:是系统为了实现对对象设置的使用或操作
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章内置组件的应用作者:ThinkGem更新日期:2014-01-05 1.常用组件1.1.布局组件布局文件配置:/ jeesite/src/main/webapp/WEB-INF/decorators.xml默认布局文件:/ jeesite/src/main/webapp/WEB-INF/views/layouts/default.jsp非公共,自己建立的布局文件:/ jeesite/src/main/webapp/WEB-INF/views/模块路径/layouts/布局文件.jsp 使用布局文件:JSP的head里添加:<meta name="decorator" content="default"/>1.2.用户工具UserUtils.java fns.tld应用场景:在java文件或jsp页面上,获取当前用户相关信息1.获取当前用户:1)UserUtils.getUser();2)entity.currentUser()3)${fns:getUser()}2.获取当前用户部门:1)UserUtils.getOfficeList()2)${fns:getOfficeList()}3.获取当前用户区域:1)UserUtils.getAreaList()2)${fns:getAreaList()}4.获取当前用户菜单:1)UserUtils.getMenuList()2)${fns:getMenuList()}5.获取当前用户缓存:1)UserUtils.getCache(key);2)${fns:getCache(cacheName, defaultValue)}6.设置当前用户缓存:1)UserUtils.putCache(key);1.3.全局缓存CacheUtils.java应用场景:系统字典1.设置应用程序缓存:CacheUtils.put(key);2.获取应用程序缓存:CacheUtils.get(key);1.4.字典工具DictUtils.java应用场景:系统全局固定的字典数据,java或jsp中获取字典相关数据。

1.根据类型和值获取字典标签(列表取值):a)DictUtils.getDictLabel(String value, String type, String defaultValue)b)${ fns:getDictLabel (value, type, defaultValue)}2.根据类型和标签获取字典值(根据标签取值):a)DictUtils.getDictValue(String label, String type, String defaultLabel)b)${fns:getDictValue(label, type, defaultValue)}3.根据类型获取字典列表(下拉框,复选框,单选框):a)DictUtils.getDictList(String type)b)${fns:getDictList(type)}1.5.功能权限控制应用场景:访问功能授权,查看权限,编辑权限,导入权限,审核权限。

1.给方法添加权限标志@RequiresPermissions("sys:submodule:user:view")@RequiresUser2.菜单中设置权限标志。

3.判断权限:SecurityUtils.getSubject().isPermitted("sys:user:edit");4.视图中控制按钮(shiro.tld):<shiro:hasPermission name="sys:user:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保存"/>&nbsp;</shiro:hasPermission><!-- 任何一个符合条件的权限--><shiro:hasAnyPermissions name="sys:user:view, sys:user:edit,"><input id="btnSubmit" class="btn btn-primary" type="submit" value="返回"/>&nbsp;</shiro: hasAnyPermissions>1.6.数据权限应用场景:某用户访问数据范围:公司及子公司,本公司,部门及子部门,本部门,当前用户,明细设置。

// 生成数据权限过滤条件(dsf为dataScopeFilter的简写,在xml中使用${sqlMap.dsf}调用权限SQL)user.getSqlMap().put("dsf",dataScopeFilter(user.getCurrentUser(), "o", "u"));<!-- 分页查询用户信息 --><select id="findList"parameterType="User"resultMap="userResult"> SELECT<include refid="userColumns"/>FROM sys_user a<include refid="userJoins"/>WHERE a.del_flag = '0'<!-- 数据范围过滤 -->${sqlMap.dsf}</select>/*** 数据范围过滤* @param user 当前用户对象,通过“entity.getCurrentUser()”获取* @param officeAlias 机构表别名,多个用“,”逗号隔开。

* @param userAlias 用户表别名,多个用“,”逗号隔开,传递空,忽略此参数* @return标准连接条件对象*/String dataScopeFilter (User user, String officeAlias, String userAlias)1.7.智能分页组件// 设置分页参数,则分页,如果不设置,则根据条件获取全部user.setPage(page);// 执行分页查询page.setList(userDao.findPage(user));1.8.树选择组件标签文件:/ jeesite/src/main/webapp/WEB-INF/tags/treeselect.tag1.8.1.区域选择组件<tags:treeselect id="area" name="area.id" value="${area.id}" labelName="" labelValue="${}" title="区域"url="/sys/area/treeData" cssClass="input-small" allowClear="true" notAllowSelectParent="true"/>多选需要加checked="true" 属性1.8.2.公司选择组件<tags:treeselect id="office" name="office.id" value="${user.office.id}" labelName="" labelValue="${}" title="部门"url="/sys/office/treeData?type=1" cssClass="input-small" allowClear="true" notAllowSelectParent="true"/>多选需要加checked="true" 属性1.8.3.部门选择组件<tags:treeselect id="office" name="office.id" value="${user.office.id}" labelName="" labelValue="${}" title="部门"url="/sys/office/treeData?type=2" cssClass="input-small" allowClear="true" notAllowSelectParent="true"/>多选需要加checked="true" 属性1.8.4.人员选择组件<tags:treeselect id="user" name="user.id" value="${user.id}"labelName="" labelValue="${}" title="用户"url="/sys/office/treeData?type=3" cssClass="input-small" allowClear="true" notAllowSelectParent="true"/>多选需要加checked="true" 属性1.9.文件选择、文件上传组件<form:hidden path="name" htmlEscape="false" maxlength="255"class="input-xlarge"/><tags:ckfinder input="name" type="files" uploadPath="/test "/>1.10.富文本在线编辑器组件<form:textarea id="name" htmlEscape="true" path="name" rows="4" maxlength="200" class="input-xxlarge"/><tags:ckeditor replace="name" uploadPath="/test " />1.11.其它工具/src/main/java/com/thinkgem/jeesite/common/utils/ ...Excel(Export/Import)、StringUtils、DateUtils、FileUtils、Encodes、CookieUtils、Collections32.封装及组件2.1.工具类组件1)UserUtils:用户工具类(获取当前用户的相关信息)。

相关文档
最新文档