JeeSite

JeeSite数据分页与翻页

匿名 (未验证) 提交于 2019-12-02 21:53:52
  本文章介绍的是JeeSite开源项目二次开发时的一些笔记,对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您无用,在这里友情提醒,避免浪费您宝贵的时间。   翻页功能在各种项目中都会用到,在JeeSite开源项目中使用翻页也非常的容易,只要在配置文件中进行就可以就可以使用,系统的默认值为30页。   配置文件在src\main\resources\jeesite.properties文件中,配置如下: 1 page.pageSize=30   但是这种配置并不能满足所有的分页要求,也就是说在不同的列表中分页的条数是不同的。如果在配置文件中修改分页条数,那么会影响到整个项目的分页,它是一个全局的配置参数,这样就很不方便了。 JeeSite手册的分页   在做项目的时候,由于使用JeeSite的默认页数无法满足项目的需求,因为不可能每个列表页都以30条记录作为一页,因此只能看手册。看手册又没有具体理解如何使用,JeeSite手册中最分页的描述如下: 1 // 设置分页参数,则分页,如果不设置,则根据条件获取全部 2 user.setPage(page); 3 // 执行分页查询 4 page.setList(userDao.findPage(user));   按照手册的方法简单的尝试了一下

JeeSite中Excel导入导出

匿名 (未验证) 提交于 2019-12-02 21:53:32
  在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel、CSV格式居多。如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好。近期一直使用一款名叫JeeSite的开源项目来进行二次开发,就记录一下该项目对于Excel导入导出数据的过程。JeeSite提供了很好的Excel的导入导出功能,隐藏了底层的很多实现,通过简单的套路式步骤即可完成数据的Excel数据的导入导出。对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您无用,在这里友情提醒,避免浪费您宝贵的时间。 导入导出步骤   无论是JeeSite系统,还是其他的系统或者自己写的系统,对于数据导入导出功能而言,首先要确定的是导入导出哪些数据的字段,然后提供一个导入的模板,编写导入导出的功能,最后在页面上提供导入导出的操作方式来供使用者进行使用。 定义导入导出字段   在导入导出数据时会先确定要导入导出数据的哪些关键字段,在确定好字段之后,通过数据库查询出的数据根据字段逐个的导出,或者通过读取的Excel逐个的读入。在JeeSite中,确定要导入导出的字段以后,在JeeSite的实体类中可以通过注解来进行说明,注解方法如下: 1 @ExcelField(title="列名1",

JeeSite | 保存信息修改记录续

陌路散爱 提交于 2019-12-01 17:07:50
遗留问题 上篇文章中遗留了一个问题,就是为了要关联类属性与注释,注释与字典的地方使用了两个map来逐个添加了相关的信息,如下所示: 1 Map<String, String> mapField = new HashMap<String, String>() {{ 2 // 类中的属性,属性对应的中文 3 put("sex","性别"); 4 }}; 5 Map<String, String> mapDict = new HashMap<String, String>() {{ 6 // 属性对应的中文,在JeeSite中字典的描述 7 put("性别", "SEX"); 8 }}; 在例子中,这里只给出了一个字段,其实这里有非常多的字段和字典需要关联,毕竟一个表不可能只有一个字段。当表结构发生改变后,这些“硬编码”的表字段和字典的两个map也需要相应的修改,反复的增加和修改这部分内容费时费力还容易错,那么解决的办法就是使用JeeSite系统中提供的两个表gen_table和gen_table_column。 表介绍 gen_table和gen_table_column是主从表,一个用于记录表,一个用于记录表中的列,然后它们的关联关系如下: 1 gen_table.id = gen_table_column.gen_table_id 在**gen_table**中保存了表名对应的类名

JeeSite | 保存信息修改记录

依然范特西╮ 提交于 2019-12-01 08:51:29
需求点 在很多场景中信息是不能轻易被修改的,修改时要么需要具备权限,要么需要审批,但是无论是哪种方式,修改前后的数据都是需要留有“案底”的,也就是说关键的信息被修改后是有修改记录的,一般修改记录会记录修改人、修改日期和修改的数据字段。 比如,修改一个人的姓名从“张三”变为了“李四”,那么在进行记录的时候,记录的信息可能如下: 姓名:(张三)=>(李四);性别:(女)=>(男); 这样就很好的体现出了修改了哪个字段,修改前后的数据分别是什么。关键的信息无论怎么修改都会有据可查,时间、人物、修改数据前后信息等。 判断被修改的数据 在页面中将数据修改并提交页面后,数据会从 JSP 传递到 Controller 中,这时数据还没有被更新到数据库中,从提交到 Controller 的对象中用数据的 id 从数据库中查出它现有的数据,然后使用现有的数据和提交的数据进行对比,就可以得到被修改过的数据字段有哪些了。 这里比较繁琐的是如何进行比对,逐个字段的使用 if 进行判断肯定不是好方法,毕竟字段太多的时候是要写死人的。那么如何进行,直接比较两个对象就行,源码我是从网上找的,好用,符合需求,源码如下: 1 /** 2 * 获取两个对象同名属性内容不相同的列表 3 * @param class1 对象1 4 * @param class2 对象2 5 * @return 6 * @throws

在 idea 上搭建 jeesite 流程

微笑、不失礼 提交于 2019-12-01 04:35:05
前两天,因为要做新产品想用jeesite框架开发,所以自己搭了一下,浏览了好多文章,现在记录一下我感觉最简单的一个 开发环境: Java SDK 1.8 IDEA Apache Maven 3.3.0+ MySql 5.7.11+ win7 1.在 windows cmd 中 git clone https: //gitee.com/thinkgem/jeesite4.git //没有装git的自己可以装一下,肯定会用到,或者直接从官网下载 2.用 idea 打开该项目所在的地方 3.选择parent的pom.xml 和 web的pom.xml 右键选在择 Add as Maven Project 4.以上操作完成后,jar就导入完成了,这时候准备将jeesite准备的测试数据导入 5.在web里application.yml文件下是对连接数据库的配置,改成你需要测的数据库,一定确保这个库是存在的 6.找到 InitCoreData 这个文件运行右键运行它 7.这时候会报错,让你将 vm-options 的值改为 -Djeesite.initdata=true 8.按照提示改好就可以,再次运行,数据初始化成功。 9.运行web的application 文件 启动成功 10.访问 localhost:8980/js 即可 用户名:system 密码:admin 来源: https:/

Guava学习笔记 第3个记录(复写的Object常用方法)

喜夏-厌秋 提交于 2019-11-30 07:17:04
在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法。每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这几个方法的工具类, Guava也提供了类似的方式。下面我们来看看Guava中这几个方法简单使用。 equals方法: equals是一个经常需要覆写的方法, 可以查看Object的equals方法注释, 对equals有几个性质的要求: 1. 自反性reflexive: 任何非空引用x,x.equals(x)返回为true; 2. 对称性symmetric: 任何非空引用x和y,x.equals(y)返回true当且仅当y.equals(x)返回true; 3. 传递性transitive: 任何非空引用x和y,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)返回true; 4. 一致性consistent: 两个非空引用x和y,x.equals(y)的多次调用应该保持一致的结果,(前提条件是在多次比较之间没有修改x和y用于比较的相关信息); 5. 对于所有非null的值x, x.equals(null)都要返回false 。 (如果你要用null.equals(x)也可以,会报NullPointerException)。

jeesite 快速开发平台 初体验

假如想象 提交于 2019-11-27 04:23:45
http://www.jeesite.com/ GitHub:https://github.com/thinkgem/jeesite 开源中国:http://git.oschina.net/thinkgem/jeesite 更多文档 https://github.com/thinkgem/jeesite/tree/master/doc 导入实践 1.创建jeesite数据库,导入sql \jeesite-master\db\jeesite_mysql.sql 2.导入maven工程 导入时保持联网状态,maven需要下载依赖 3.修改配置文件jeesite.xml 关于数据库的配置 4.在tomcat上运行 5.使用超级管理员登录 http://localhost:8080/jeesite/a/login 最高管理员默认账号:thinkgem 密码:admin 来源: oschina 链接: https://my.oschina.net/u/2548201/blog/1815919

Guava学习笔记 开篇(Google Guava 类库简介)

限于喜欢 提交于 2019-11-27 03:05:24
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦。下面我们就开启优雅Java编程学习之旅! 项目相关信息: 官方首页:http://code.google.com/p/guava-libraries   官方下载:http://code.google.com/p/guava-libraries/downloads/list   官方文档:http://docs.guava-libraries.googlecode.com/git/javadoc http://www.ostools.net/apidocs/apidoc?api=guava 源码包的简单说明: com.google.common.annotations:普通注解类型。 com.google.common.base:基本工具类库和接口。 com.google.common.cache:缓存工具包,非常简单易用且功能强大的JVM内缓存。 com.google.common

JeeSite 4.0 说说前端的那些事

纵然是瞬间 提交于 2019-11-26 16:59:48
引言 一个不得不说的话题,经过近几年的发展,Web前端开发已经不是一个新有的岗位了,前端技术发展非常迅速,技术更新换代也很快,对于前端工程师来说是一个很大的挑战“挣扎期”。 从统计来看,中级前端的待遇是略高于中级后端的。这对于中小企业、创业公司来说组建一个专有的前端团队还是很一件很不容易的事情,无形中增加了人力成本, 话说招前端工程师简单,但能招聘到合适的前端工程师来说,是一件非常不容易的事情。 为了解决这个事情,中小企业、创业公司都在思考一个问题,做企业应用软件,如果不去组建专门的前端团队,能有一个很好的开发平台,很好的框架,让后端工程师具备一些基本的前端知识,就可以去做出很漂亮的界面就好了。 这个想法很好,但是你会说,可能吗,会一点基础前端就能做好吗?专业的事情还是有专业的人来做,前后端分离是趋势,表现逻辑分离意义很大。没有绝对完美的事情,尽管种种诱惑,唯心自问合适自己吗?我不否认,这还要针对产品、针对项目来选择解决方案。但JeeSite的中心思想是快速快发,快速交付,控制成本,对于一个想快速交付项目来说不见得是一件好事。 重口难调,也许你不赞同这些看法,作者欢迎提问,当然你也可以将JeeSite完全作为服务端代码,快速提供数据接口,自由实现或选型一套前端UI。 好了,既然是奔着快速交付,控制成本来的,我们就依这个角度去思考方案: 第一,技术选型 Spring MVC +