JeeSite 4.x

Spring Boot 最好的快速开发平台

V4.1.5 更新日志、了解最新版本动态

V4.1.5 2019-5-20

新增

  • 新增文件管理功能,支持公共文件柜、部门文件柜、个人文件柜、文件分享、批量删除
  • 新增员工用户管理的附属部门功能,一个员工可归属多个部门,并支持多部门数据权限过滤
  • 新增日语语言包(感谢“国峰〓宝くじ”的支持),并开源所有国际化语言包,方便用户自定义语言包
  • 新增全局默认事务超时时间参数jdbc.transactionTimeout,原jdbc.jta.transactionTimeout参数可删除
  • form:fileupload 组件新增 cueWords 提示语属性,默认:或将照片(文件)拖到这里,最多可选 x 张(个)
  • form:fileupload 组件新增后台服务地址自定义参数,包括:上传文件、下载文件、查询文件列表的地址指定
  • form:listselect 组件新增 callbackFuncName 和 getSelectDataFuncName 自定义函数
  • 增加web严格模式 web.strictMode=false(更严格的数据安全验证,如isAll=true这种参数形式将被禁用)
  • 新增用户组织管理功能的控制权限设置 user.adminCtrlPermi,1拥有的权限 2管理的权限,无限级授权场景使用
  • 关闭页签时回调方法 onTablePageClose(tabId, title) 增加两个参数
  • 新增静态资源路径前缀配置 web.staticPrefix,可做 CDN 加速优化
  • 编辑表格子表的表头增加新增按钮实例,详见 testDataForm.html
  • 新增多数据源接口,方便个性化支持,可动态维护多数据源。
  • ReflectUtils.invokeGetter 新增支持静态类及方法调用
  • 增加 favicon 网页收藏图标,可自行替换修改
  • 新增Docker部署脚本实例

优化

  • jquery.validate 新增重置验证方法,将valid替换为resetValid用户体验会更好
  • FileUploadServiceExtend 支持抛出异常,如:throw ServiceException(“文件不符合要求”)
  • form:select 组件的 itemLabel和itemValue支持多级属性,如:employee.office.officeName
  • form:listselect 组件的 itemCode和itemName支持多级属性,如:employee.office.officeName
  • js.formatNumber 优化,传递null的时候返回默认值,传递0数值的时候返回0.00
  • jqgrid 支持id有特殊字符的情况下的操作,如id中包含#号,则被替换
  • 多数据源优化,去掉了多种验证方法,则简单直接设置数据源,减少高并发出错率
  • @MyBatisDao 如果不设置 dataSourceName,则为 default 默认数据源
  • 角色数据权限配置,支持返回数组的情况,在一个用户多个部门的场景下使用
  • 支持普通用户新建角色的权限,普通用户只可分配自己拥有的菜单,不可越权
  • 优化WebOffice浏览器兼容性,替换ActiveX,采用pdfobject+officeapps方式
  • 根据用户查询菜单menuService.findByUserCode默认包含“默认角色”的查询
  • 调度表sys_job的status设置为1后,支持启动后自动清理quartz数据
  • 优化dataGrid的updateListFieldName接口,可默认不传参
  • 优化TabPage页签标题上的省略号,用CSS方式,方便个性化
  • 优化前端标签class=”addTabPage”增加href属性的支持
  • 调整 shiro.allowRequestMethods 拦截器顺序,放到静态文件之上进行验证
  • 暂时去掉无用的jquery-migrate-1.4.1.min.js类库引用,如果你需要可以放开注释
  • 优化 File.downFile 如果传递 source=preview 则不添加 attachment 内容描述
  • 优化对 .json .xml 后缀的URI会话失效后传递支持
  • 更新最新版身份证号码验证类 idcard

修复

  • 修正密码修改策略超过n天后没有强制或提示修改密码问题
  • 修正attrName为this的时候,SqlMap自定义条件下,JoinTable的条件也会重复加入的问题
  • @Table 如果是 UPDATE 或 DELETE 的语句,无需创建JoinTable的关联表条件
  • 当子表grid有验证的时候,删除一行点击提交,再增加一行,点击提交,这时子表索引号错误问题 #ITGI8
  • 改进preInsert和preUpdate调用方法,解决preInsert重复调用问题
  • 优化init-data脚本,在jdbc.jta.enabled开启情况下支持初始化db
  • 降级maven-surefire插件,该Maven插件的新版本可能会出现VM崩溃
  • DateUtils getOfDayFirst getOfDayLast 24小时制修正
  • 当adminPath修改过后,发送通知的地址不正确问题
  • 会话过期后顶部菜单点击后显示json的代码优化
  • 修正IE下文件上传问题,多选上传问题
  • 修正/upbw/index页面的XSS漏洞
  • 文字优化调整,界面错别字修正
  • 修复jQuery原型污染漏洞

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.5-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 如果你使用DataSourceHolder.setDataSourceName设置数据源,则需设置 @MyBatisDao(dataSourceName=DataSourceHolder.EMPTY)

V4.1.4 2019-3-20

新增

  • 新增内部消息站内信功能
  • 社区版用户提升至20人同时在线
  • EmpUserService 添加获取用户最基本的信息 API
  • DataGrid/jqGrid 新增“没有符合数据”示例,详见 testDataList.html
  • fileupload 增加 fileMeta 字段,用来存在文件信息,例如图片可存储宽高,用来做瀑布流式布局
  • fileupload 支持分片上传,多线程上传,提高上传效率,yml中可开启(默认关闭)
  • fileupload 支持外部调用重置 options 和刷新上传文件列表
  • job 添加 instanceName 集群的实例名字段,与yml配置文件一致,在微服务模块中使用非常重要 若你在yml中修改了instanceName名字,你需要更新下sys_job 的 instanceName 字段为你修改的名字
  • yml 中新增 JTA 事务超时默认设置 3 分钟示例
  • yml 中新增是否允许接收跨域的 Cookie 凭证数据配置参数
  • 登录地址支持传递 __url 参数,指定登录后跳转的页面
  • 代码生成器新增 BigDecimal 数据类型
  • 消息推送工具类支持个性化 MsgPush 对象,批量推送时,支持延迟统一推送消息
  • 新增通用 Base64.encode() 和 Base64.decode() 的 js 工具
  • 角色管理新增,增加用户类型,是否系统,的默认值

优化

  • beetl 升级到 v2.9.8
  • 将消息推送实现类移动到core项目下
  • 基础组件(输入框、单选按钮、复选框、下拉框)的边框颜色加重一点
  • mybatis 返回值为 Map 时,当返回空值字段时,仍然需要返回这个 Key
  • 取消 Shiro 内部密码验证,统一使用 validatePassword 密码验证方法,简化密码存储的个性化修改
  • BaseEntity 的 preInsert 和 preUpdate 去掉 abstract
  • 删掉多余的 idx_sys_msg_inner_r_rc 索引
  • treeselect 大数据量下,增加 loading 提示

修正

  • 岗位管理列表根据sort字段排序修正
  • 用户管理点击左侧树节点时 reset 按钮调用不对问题
  • 密保修改页面文字修正:保密->密保
  • 解决用户为中文的时候,记住用户名乱码问题 #IS654
  • 优化 job 目标字符串中包含单引号的时候 XSS 问题 #ISGWC
  • 优化 WebUploader 的输入框打开页面的时候会闪一下的问题
  • 修正树表没有 status 状态字段的时候报错问题 #ITI2I
  • 优化当增加spring-cloud-starter-bus-amqp类库的时候报错 #ISAWA
  • 优化 imageclip 头像裁剪选择3M以上的图片的时候回显不正常问题
  • 当 fileupload 一次选择多个文件的时候,文件顺序显示可能不正确问题

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.4-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 如果你重新定义了 jobForm.html 文件,你需要同步下次此文件

V4.1.3 2019-2-15

新增

  • 新增参数配置 sys.index.menuStyle=2 的时候,一级菜单显示在主框架顶部
  • fileupload 组件新增 extendParams 扩展参数,附加数据,方便后台做出相应处理
  • Ueditor 组件新增 StorageManager.uploadFileSuccess 方法,方便写上传文件后回调
  • 新增 lang.defaultLocale 和 lang.defaultTimeZone 指定默认语言和默认时区参数,如果你使用的是v4.1.3之前版本,可在启动参数里增加 -Duser.language=zh 参数设置默认语言
  • mybatis mapper xml 的 select/update/delete 新增 weight 权重属性,用于存在相同的 mapper id 时,指定优先加载顺序,权重越大优先级越大。
  • 新增 jquery 快速获取 iframe 的 window 对象插件,如:layero.iframeWindow()
  • 新增ImageUtils工具类快速方便生成缩略图
  • 新增可编辑的Grid列表选择组件应用示例
  • 主框架页PC消息提醒增加提示音

优化

  • 支持用户自定义数据源实现,将 DataSource 注册 Bean 即可
  • 支持用户点击侧边栏头像隐藏 header 部分,扩大操作区域,优化体验
  • 会话ID顺序调整:优先获取 __sid 请求参数,再获取请求 header,再获取 cookie 的中的会话ID
  • 前端 js.text(code, params) 方法的语言配置文件移动到 core 项目下,方便用户自定义
  • 表 sys_config 的 config_key 字段设置为唯一约束属性
  • 将 sysDesktop 中的 echarts 替换为本地资源文件
  • 默认关闭 lang 和 job 较少运维(4.1.3+)
  • 开源 SSO 简易单点登录的代码
  • 支持 Docker Swarm 集群自由伸缩
  • 优化代码生成模板和默认设置等细节
  • 手机号验证增加 16 号码段
  • 支持 PostgreSQL 11
  • 日志输出格式优化

修正

  • 修正访问登录页时未生成会话验证码初次验证失效
  • 修正浏览器缩放情况下jqgrid有一像素的错位问题(兼容DPI高分屏)
  • 修正账号登录安全选项锁定账号失效的问题(失效后用户名DES未解密导致)
  • 修正非string符合主键的时候导致getId()返回null的问题
  • 修正页签出现滚动条后,快速关闭右侧导致左侧的菜单未显示
  • 修正某些linux下获取不到默认时区和默认语言环境而导致国际化切换失效。
  • 修正主子表情况下,子表点击删除按钮,但不点击确认删除,保存之后仍会删除问题 #IRDVT
  • 移除极少使用的metadata-extractor图片Meta获取类库,若有需要可自行添加该类库
  • 修正代码生成模板,当没有status字段时误导入了DataEntity的问题
  • 修正fileupload组件returnPath下的回显及下载地址不正确问题
  • 修正新增子级公司的时候选择的包含机构数据无法保存问题
  • 修正如果修改了登录名后,原登录名缓存未清理问题
  • 修正js.cookie存储获取path问题

Cloud版

  • 支持重写 FeignRequestInterceptor 拦截器
  • 添加 bootstrap.yml 属性文件加载,方便统一配置中心调用.
  • 默认放开内部系统访问过滤器的局域网IP访问权限(方便调试)
  • 优化数据源,微服务可以不设置默认数据源

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.3-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.1.2 2018-12-22

新增

  • 代码生成基础路径新增最近路径快速选择,方便用户快速选择最近设置过的路径
  • 新增file.isFileStreamDown开关,是否使用文件流方式下载,不拦截userfiles的地址
  • 新增JeeSite Spring Cloud的基础内置功能的Rest查询服务和FeignClient
  • 新增连接池最大空闲的时间参数,默认30分钟
  • 新增session.sessionIdCookiePath参数
  • 新增TreeQueryService树结构查询基类
  • 主题切换中新增“表单弹窗模式”、“取消页签模式”选项开关
  • 新增仅查询功能(不含增删改)的代码生成模板 #IOZ3S
  • 新增WebOffice在线文件预览的支持
  • 新增shiro.isAllowMultiDeviceLogin参数,是否允许多账号多设备登录,如果设置为false, 其它地点登录的相同账号全部登录设备将被踢下线
  • 租户管理员支持绑定角色,让不同的租户可拥有不同的菜单

优化

  • 优化select的items为空的时候忽略错误
  • 优化js.windowOpen不指定宽高时,自动根据屏幕设置大小
  • 优化ScriptRunner,支持字符串中带分号的写法
  • 优化xss过滤去除&和#的转换,有时候会产生一点问题
  • 支持CMYK色彩格式的JPG图片压缩;优化动画效果;
  • FileUtils.getContentType的准确性优化,有时候会对IOS下载视频播放造成影响
  • 优化树表代码生成,展开节点清理请求参数数据时排除状态查询条件
  • 优化树表管理界面,有查询条件情况下,编辑后支持刷新列表中无父节点数据
  • 代码生成模板分离出dataGrid生成代码;日期控件选填显示清空按钮;仅查询生成模板优化
  • 代码优化,减少一些js警告的提示。建议设置IDE忽略一些无关紧要的警告提示
  • 菜单归属系统代码优化及各种细节优化

修正

  • 修正PC消息池,有时会出现concurrent问题;redis下putPool设置不上问题
  • 修正MsgPushTask查询条件不正确,导致PC消息多次推送导致失败问题
  • 修复苹果手机IOS下不能左右滚动问题,另外需按如下步骤操作手机:设置 -> Safari浏览器 -> 高级 -> Experimental Features -> 关闭 Async Frame Scrolling 选项。
  • 修正 /js/a/authInfo 取不到值问题;优化用户会话缓存处理;

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.2-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.1.1 2018-11-17

新增

  • 新增 Spring Cloud Finchley 的支持
  • 新增代码生成 gen.enabled=true 开关
  • 新增系统监控 state.enabled=true 开关
  • 新增支持 iframe 内页使用 hash,addTabPage 的父级标签加 treeview 类即可
  • 新增支持 entity.getSqlMap().getOrder().setOrderBy(“a.update_date desc”) 设置排序
  • 新增参数配置、字典、数据权限、国际化、消息推送、文件服务层的重写扩展支持
  • 新增 MsgPushUtils 的一个方法,填写定时发送消息时不需要填写是否合并消息参数了
  • 新增 beetl xss 格式化类型,举例:${parameter.testParam,xss}
  • 新增 StringUtils.trim2 方法,去除左右空格,支持清理中文空格
  • 新增内部系统访问过滤器,可设置多个允许的内部系统IP地址串

优化

  • 升级 spring boot 2.0.5 to 2.0.6
  • 优化 UI 色调、微调、美化,表单控件小圆角增强平滑感
  • 优化 PropertiesUtils 代码方便分布式配置中心获取数据
  • 优化 webuploader.mobile.js 文件上传的精简版,仅h5用
  • 优化菜单多的情况下关闭页签侧边栏会重置问题
  • 区域表单响应式布局优化,缩放窗口时体验效果
  • TimeUtils.formatDateAgo 代码精简优化
  • 手机号验证增加199号码段

修正

  • 修正分页title工具提示undefined的问题
  • 修正tomcat容器shutdown后job未shutdown问题
  • 修正记住我情况下解决偶尔出现不显示登录页面的问题
  • 修正RoleDao.findListByUserCode多租户下查询不到系统角色问题
  • 修正树菜单保存排序时子节点的所有排序号字段未更新问题(4.0.5以上版本)
  • 修正UserUtils.putCache方法未登录系统的情况不存储问题
  • 修正整合OSS对象存储生成的URL,前端显示会自带项目前缀问题 #INXBI
  • 修正js.quickSelectDate报date.format未定义问题
  • 修正通过logincode获取用户的缓存无法清理问题
  • 修正有些功能存在xss漏洞的问题 #14

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.1-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 由于4.1.1开始全面支持微服务,有些核心包里的功能可能根据需要发布为服务, 故将所有Service层的类分离出接口,默认接口实现类的命名约定在Service后加Support为后缀, 默认情况下此类将在autoconfigure中注册,若您想根据需要重写该类,你可继承Support的类约定用Impl为后缀, 并通过@Service注解注册该类即可,这样将会排除默认的Service加载(实例文件见:UserServiceImpl.java)。 此分离出接口操作不会影响业务代码的调用。

V4.1.0 2018-10-14

升级内容

  • 升级到 Spring Boot 2.0.5、Spring 5.0.9 以及相关依赖库全面升级
  • 缓存框架将 Ehcache 2 更换为 红薯/J2Cache(Caffeine、Redis) 框架
  • 轻量级 Session 对象,将用户缓存独立为缓存对象,提升会话序列化性能
  • 缓存接口增强几个方法及优化,反射工具优化,支持泛型,省去强制转换代码
  • 规范配置,删除 jeesite.yml 将文件内容迁移到 application.yml 文件
  • 代码生成器模板移动到 jeesite-module-core 项目下,方便用户自定义
  • 新增 jeesite-module-swagger 模块,文档地址:/swagger-ui.html
  • 配置文件增加 msg.enabled=false 开关,可关闭消息推送功能
  • 支持开发者自定义控制用户密码的加密和验证策略
  • 代码生成器支持多数据源表生成;代码生成器支持栅格自定义
  • form:treeselect增加callbackFuncName属性,可自定义回调方法的函数名
  • sso接口优化,当用户名与当前用户不一致的情况下自动重新登录。
  • 去掉 ExceptionHandler Throwable.class 异常拦截,防止扩展时不生效
  • 优化用户菜单缓存,提示主页面加载速度
  • 新增超级管理员可以进行租户切换功能
  • 修正岗位名称唯一验证不应该是LIKE
  • 修正树表名称有正则表达式特殊字符的时候更新报错 #IN6V8
  • 角色数据权限范围,支持扩展自定义的数据权限,并相关权限功能优化改进
  • 新增本部门数据、本公司数据、本部门和本公司数据的权限范围
  • 支持菜单、用户、角色 Service 层自定义,详见 sys.service.impl 包
  • 其它各种优化,性能优化,简化 Application.java

升级方法

  • 建议您升级,因为升级成本不大,最低环境配置:jdk1.8、servlet3.1
  • 查找所有 pom.xml 文件里的 4.0.[当前版本]-SNAPSHOT 替换为 4.1.0-SNAPSHOT
  • 如果您导入 jeesite-module-common 和 jeesite-module-core 项目,则请与码云 4.1.0 源代码同步

  • 查找 import org.hibernate.validator.constraints.NotBlank;
  • 替换为 import javax.validation.constraints.NotBlank;
  • 查找 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  • 替换为 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  • 查找 extends WebMvcConfigurerAdapte
  • 替换为 implements WebMvcConfigurer
  • 查找 import org.springframework.boot.web.support.SpringBootServletInitializer;
  • 替换为 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

  • 查找 FileUploadServiceExtendImpl 替换为 FileUploadServiceExtendSupport
  • 查找 UserService.encryptPassword 替换为 PwdUtils.encryptPassword
  • 查找 UserService.validatePassword 替换为 PwdUtils.validatePassword
  • 查找 UserService.passwordModifyValid 替换为 PwdUtils.passwordModifyValid
  • 查找 CacheUtils.removeAll() 替换为 CacheUtils.clear();

  • 如果项目还有错误,可自行修复,通过搜索引擎查找升级SpringBoot2的相关问题

  • 删除资源目录下的 cache/ehcache-local.xml 和 ehcache-rmi.xml 文件,使用 j2cache.properties
  • 启动类更新 com.jeesite.modules.config.Application 移动到 com.jeesite.modules.Application 下
  • 将 jeesite.yml 的内容与 application.yml 合并,并删除 jeesite.yml 文件
  • yml配置文件 ehcache.* 前缀的替换为 spring.cache.*
  • yml配置文件 redis.cacheAndSession 替换为 spring.cache.isClusterMode
  • yml配置文件新增参数 logging.config=classpath:config/logback-spring.xml
  • 日志配置优化,重命名并移动到 src/main/resources/config/logback-spring.xml

  • 数据权限关键视图更新:empUser.html、company.html、office.html、role.html,同步ctrlPermi相关代码
  • 验证所有form:checkbox组件,4.0中不选中时提交null,4.1中不选中时提交空字符串
  • JedisUtils 不建议使用了,建议依赖注入 Spring RedisTemplate 类操作 Redis

V4.0.7 2018-9-15

新增

  • 配置文件增加 lang.enabled=false 开关,可关闭 i18n 多语言功能。
  • 配置文件增加 job.enabled=false 开关,可关闭任务调度功能(微服务用)
  • 配置文件增加 file.enabled=false 开关,可关闭上传文件功能,精简加载(微服务用)
  • 配置文件增加 web.core.enabled=false 开关,可关闭核心模块的Web功能(微服务用)
  • 配置文件增加 menu.updateStatusByModuleStatus=false 可关闭根据模块状态去更新相连的菜单状态(微服务用)
  • 配置文件增加 mybatis.scanTypeHandlersPackage 参数,TypeHandlers的扫描基础包
  • 配置文件增加 shiro.rememberMe.secretKey 参数,记住我cookie密钥自定义设置选项,提高安全性
  • 配置文件增加 job.log.* 调度日志开关,可关闭或只保存错误级别的日志,详见:jeesite.yml
  • 配置文件增加 job.scheduler.instanceName 参数,指定作业集群实例名。
  • 增加微服务优化选项,上文中标注为“微服务用”的,可关闭一些不需要的功能开关,减少加载启动时间,控制在10秒内
  • 新增@JsonView注解支持,自定义过滤Json视图输出字段。这在移动端API节省流量,隐私信息,或特殊场景下非常有用
  • 工具类 NumberUtils 新增formatNumber方法,格式化数据类型格式
  • 工具类 Md5Utils 增加获取文件的MD5值,并支持获取文件指定前部分的MD5
  • 增加文件上传扩展服务类 FileUploadServiceExtend接口,支持将文件保存到第三方文件服务器(如飞牛、OSS等)
  • 将ueditor后台上传源码开源,移到jeesite-common项目,方便扩展第三方文件存储服务器(如飞牛、OSS等)
  • 菜单新增扩展字段的编辑界面
  • 支持DB2数据库

优化

  • 分页器优化,Service基类新增重载findPage(T entity),可进行entity.setPage()进行设置分页。
  • application.yml增加Spring环境切换提示,不可设置为 test 它是单元测试用的环境名称
  • 优化MsgPushUtils.push调用后返回MsgPush对象,方便后续处理该消息。
  • 访问日志去掉日期范围查询条件,初始加载在没有时间条件的情况下查询更快
  • 缓存监控的缓存值获取优化,太大的缓存预览截取一部分,防止客户端假死
  • 优化ListUtils.listOrderBy支持默认升序排序
  • 优化Linux下运行时,减少权限问题的产生
  • 优化监控百分比参数,去除小数点
  • job数据源优化,druid升级到1.1.10版本

修正

  • 修正树表编辑后,如果当前节点下已加载了子节点,则展示错乱问题。
  • 修正sqlWhere多个endBracket的情况下不输出问题,#IMJU8
  • 消息推送的PC消息按钮修正;模板消息优化修正;消息推送单元测试完善
  • 修正记住我的账号时,从在线列表踢出用户无效问题
  • 修正@Column(typeHandler)不能设置泛型类型的问题
  • 修正 js.addTabPage 的 refresh 参数不起作用问题
  • 修正一个tomcat下不能部署多个应用解决
  • 修正PC消息提醒获取按钮报错问题
  • 修正租户缓存无法删除的问题
  • 修正初始化脚本空值针错误
  • 修正多主键情况下getId()获取不正确问题
  • 优化有些缓存在Redis下的未保存的情况修正

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.7-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.6 2018-8-14

新增

  • 新增:缓存监控功能,查看缓存内存,清理缓存等
  • 新增:服务器监控功能,查看CPU,内存,JVM,磁盘信息等
  • 新增:通用CrudDao基类新增物理删除方法,满足一些特殊需求
  • 新增:@Table支持动态表名,可指定当前实体里的一个属性的Get方法
  • 新增:新增支持无页签模式和表单弹窗模式(专业版)。
  • 新增:shiro.successUrl登录成功后跳转页面参数,支持ajax登录后跳转,sso下登录跳转
  • 新增:@Table.@Column 的几个属性 javaType、jdbcType、typeHandler 的支持。
  • 新增:一些连接池常用参数,详见 jeesite-core.yml
  • 新增:是否在登录后生成新的Session(默认false)参数,详见 jeesite.yml
  • 新增:MyBatis使用Map参数传递和返回实例代码,支持分页。

优化

  • 优化:form组件path属性支持html编码属性encodeHtml默认false
  • 优化:Excel导入导出的缓存清理优化,增加close方法,杜绝可能会造成内存泄露的问题
  • 优化:在不开启i18n的情况下不受浏览器的语言设置影响
  • 优化:模块管理增加当前版本编辑字段。
  • 优化:表格分页控制部分,分离出一个pageHtmlControl方法,方便重写
  • 优化:js.closeCurrentTabPage优化,支持有tabpage情况下弹窗关闭
  • 优化:Global增加几个方法,快速获取属性自动转换为整型或布尔类型
  • 优化:参数配置的参数值config_value允许空值
  • 优化:XSS过滤方法,解决一些可能会发生的问题。
  • 优化:Excel导入导出的缓存清理优化,增加close方法,杜绝可能会造成内存泄露的问题。
  • 优化:支持jeesite.yml属性自定义获取客户端IP的Header名称,防止IP伪造。
  • 优化:StringUtils.camelCase驼峰命名法转换,不允许第二个字符是大写,避免一些不规范代码
  • 优化:降低ReflectUtils的错误级别,如果null不抛错,打印日志警告即可
  • 优化:将web项目的config文件分散到jar包里,让web项目更简洁。

修正

  • 修正:用户列表选择的selectData变量可能造成XSS漏洞
  • 修正:优化form:select为multiple=”true”时,如果itemValue不是字符串类型,会报错问题
  • 修正:当修改表名js_前缀时,job表前缀与系统前缀没有统一的问题
  • 修正:登录密码错误的时候,偶尔显示未知错误的问题
  • 修正:登录页记住账号在DES加密的情况下,会有XSS漏洞
  • 修正:属性配置文件${xxx}表达式为空时可能报错问题。

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.6-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.5 2018-7-16

新增

  • 新增:找回密码功能,支持通过手机号、邮箱、保密问题重置密码
  • 新增:@Table@Column支持isUpdateForce=true强制更新,不再判断值非空情况下才加入更新(常用于Date类型)
  • 新增:支持war包不解压的情况下运行(SpringBootVFS),支持引入外部yml配置文件
  • 新增:数据范围过滤条件方法,实现如果之前sqlMapKey已经存在,则使用OR增加到该条件,主要用来扩展自定义的权限过滤条件(如:本部门、本公司等等): getSqlMap().getDataScope().addFilter(String sqlMapKey, String sqlWhere)
  • 新增:清理数据过滤条件方法:getSqlMap().getDataScope().clearFilter(String sqlMapKey)
  • 新增:拆离出CAS权限授权的Realm,支持开发者自定义Realm(个人版)
  • 新增:form:validcode标签增加isShowLabel属性,是否显示“验证码”标签
  • 新增:支持spring.profiles.active=dev的jvm参数和yml配置,指定活动环境名称参数,如:application-dev.yml
  • 新增:员工用户列表选择示例代码,详见帮助文档form:listselect

优化

  • 优化:为了防止InitCoreData单元测试误运行,增加 -Djeesite.initdata=true 参数作为校验
  • 优化:当checkbox标签指定label的时候,原来未选中时是提交null,现在未选中的时候提交0选中提交1
  • 优化:postgresql下,schema可以不和用户名一致的情况
  • 优化:当代码生成子表,选择父表不对的情况下,可能会出现空值针
  • 优化:自动更新数据库程序,各个模块的初始版本号读取用户自定义的
  • 优化:Job支持指定数据源名称,数据源监控显示数据源名称,可减轻主数据源压力
  • 优化:extWhereKeys 设置多个键值时,逗号后包含空格时获取不到设置的数据问题。#IL9Q3
  • 优化:select下拉框,选项个数小于10个的时候不显示搜索框
  • 优化:bin脚本,增加一些脚本修改的提示帮助
  • 优化:PinyinUtils工具类,新增id规则过滤

修正

  • 修正:500页面,没有ex.cause的情况报空值针问题
  • 修正:用户身份为二级管理员的时候数据权限设置不正确问题
  • 修正:解决Job在XA/JTA数据源下,隔一段时间报获取连接错误问题
  • 修正:fileupload标签的uploadType=”all”的时候allowSuffixes设置为一个后缀的时候失效问题
  • 修正:listselect在jqgrid编辑行中,因注释问题引起的语法错误
  • 修正:Session失效后,右上角消息数显示NaN问题
  • 修正:postgresql数据库删除字段后,代码生成器查询列仍然能查询出来的问题
  • 修正:yml密码加密时未找到Key的情况下,会被误认为了其它key下相同的键值名问题
  • 修正:sys.login.multiAddrMessage的i18n键名调用错误

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.5-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.4 2018-6-20

新增

  • 新增:用户数据导入和导出功能,支持导入数据更新
  • 新增:Excel导入工具想新增@ExcelField(attrName=”“)属性的支持
  • 新增:js.ajaxSubmitForm 新增 ajax 文件下载功能,参考 empUserList.html
  • 新增:MsgPushUtils.push(type…)的receiveUserCodes参数新增多个接受者支持
  • 新增:receiveUserCodes用[CODE]前缀,支持直接指定手机号码或邮箱地址等等
  • 新增:双击树表前的图标可刷新子节点数据,停用启用的时候非常有用;

优化

  • 优化:shiro缓存优化
  • 优化:租户功能优化
  • 优化:员工编号与登录名前端验证一致
  • 优化:规范用户头像base64参数名修改为 avatarBase64
  • 优化:代码生成,子表选择子表,限制只选择已有生成配置的表
  • 优化:停用启用树节点时,不同步更新子节点数据,更新本级的tree_leaf字段;
  • 优化:增加 jdbc.jta.enabled 分布式事务开关(默认false)
  • 优化:支持 -Dspring.config.location=x:/app.yml
  • 优化:错误页面优化,ajax情况下返回json数据。

修正

  • 修正:直接在WHERE后添加扩展Where语句时,移除开头AND标识符
  • 修正:解决长时间不访问的时候出现connection holder is null的问题
  • 修正:mapper.refresh属性参数不对,导致开发模式下mapper xml不自动刷新的问题
  • 修正:生成代码绑定数据字典值不对的问题,应该返回type而不是id #IKA0C
  • 修正:sqlserver数据库初始化脚本报null的问题
  • 修正:#IKILZ 待审核账号登录提示i18n问题
  • 修正:DictUtils.getDictLabels取不到标签问题

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.4-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.3 2018-5-27

新增

  • 新增:core项目增加单元测试支持类 ApplicationTest.java
  • 新增:代码生成config.xml支持自定义,放同目录下config-custom.xml文件即可覆盖
  • 新增:shiro.allowRequestMethods 参数,可指定允许的请求方法,默认GET,POST
  • 新增:TabPanel 增加 onTablePageClose 事件
  • 新增:@PatternValue验证注解,支持从属性文件中读取正则表达式
  • 新增:可修改主键和loginCode的验证正则表达式
  • 新增:优化userService.save方法,可支持直接保存password
  • 新增:js.addTabPage增加返回值,可返回当前tab的id,方便后续事件绑定
  • 新增:form:select 增加 blankOptionLabel=”全部” 选项
  • 新增:form:input 支持 dataFormat=”datetime2”,年月日时分秒
  • 新增:form:fileupload 支持 returnPath=true 和 bizType 共存,bizType优先
  • 新增:统一的消息提醒处理,消息推送功能,包括:PC消息、APP消息、短信、邮件、微信等等。

优化

  • 优化:采用Mybatis-PageHelper的CountPage方法,优化count性能,感谢abel533
  • 优化:弹出优化,支持 js.layer.config({shadeClose: false}) 设置
  • 优化:集团模式修改为通俗名称:多租户、租户代码、租户名称。
  • 优化:/a/menuTree 优化,支持 parentCode 参数
  • 优化:用户管理下的授权角色、授权数据、重置密码权限不严谨问题。
  • 优化:SpringMVC 优化 MaxFileSize 参数,同MaxRequestSize
  • 优化:Thumbnails 自动压缩优化,支持 png,jpg,jpeg,bmp,ico 类型
  • 优化:treeselect组件,当所有跟节点没有子节点的时候,不显示“展开和折叠”按钮
  • 优化:Beetl 视图 include 支持相对路径,sysLogin、sysIndex 移到 themes 目录下
  • 优化:代码生成模板,当存在 corp_code 字段时,BaseEntity 未 import 修正
  • 优化:代码生成,当添加已经存在的表时,提示并直接进入,优化体验
  • 优化:代码生成模块代码合并到框架包
  • 优化:角色查询SAAS下允许共享系统角色
  • 优化:js.formatMoney支持小数位数为0
  • 优化:XSS非法字符过滤优化
  • 优化:IE下ajax缓存优化

修正

  • 修正:字典数据管理,上级字典切换无效问题修正。#IJO4W
  • 修正:在磁盘根目录下BeetlUtil.getWebRoot()报错修正
  • 修正:Excel导入时如果遇到空行可能会出现空指针异常
  • 修正:Excel导入时对于带有小数部分得数据可能出现精度丢失得情况
  • 修正:上传文件超过最大文件限制时扔可上传问题
  • 修正:fileupload文件列表readonly=true是删除按钮还存在问题
  • 修正:#IJSM4 新增公司后,用户数据权限自动添加的BUG
  • 修正:代码生成器子表生成界面跳转到主表的链接不正确问题
  • 修正: js.formatDate(new Date()) to “2018-05-dd HH:mm:ss” 问题
  • 修正:国际化js.text()带参数的code,修正默认情况下没有加入参数值问题
  • 修正:字典数据管理,上级字典切换无效问题修正。#IJO4W
  • 修正:MySql下字典类型停用启用Connection is read-only修正
  • 修正:添加一级的部门或公司的时候会自动给所有用户数据权限问题
  • 修正:UserUtils.getUser().getRoleList()数据不对问题。

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.3-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.2 2018-4-22

新增

  • 新增:支持分布式事务,多数据源下事务支持
  • 新增:支持MyBatisDao注解指定数据源名称,Dao层动态切换数据源
  • 新增:国际化底层框架、通用组件、机构管理功能和代码生成模板
  • 新增:Linux下执行的Shell脚本,并优化startup脚本
  • 新增:@JoinTable 的 attrName 支持 this 当前类
  • 新增:Redis 增加 clientName 设置参数
  • 新增:附件列表增加上传人和时间回显

优化

  • 优化:初始化SQL脚本优化,主要针对mysql脚本;修复创建索引警告
  • 优化:将timestamp替换为datetime类型,杜绝MySql下创建时间更新问题,时间不能为空问题
  • 优化:设置SpringBoot的上传文件大小限制与file.maxFileSize设置统一
  • 优化:ExcelExport工具类接口,更方便的支持多Sheet
  • 优化:角色管理增加状态条件,优化查询

修正

  • 修正:jquery validate remote 中文乱码导致验证失败问题
  • 修正:因加载过早EmpUserService类事务失效问题
  • 修正:Linux下找不到程序包 java.lang 问题
  • 修正:代码生成选择多个验证条件的时候报错

升级方法

  • 直接运行 mvn clean package -Dmaven.test.skip=true -U 强制更新即可
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.1 2018-3-31

新增

  • 新增:国际化登录相关和错误页面信息(中文、英文)
  • 新增:数据表格实例,多表头、行分组、合计行、小计行、编辑表格,实例
  • 新增:表单组件实例,栅格布局(一列、两列、三列、四列),组件应用实例
  • 新增:日志查询,表增加执行时间记录字段,分析页面的执行效能
  • 新增:CookieUtils.getCookie() 增加 path 参数
  • 新增:支持Oracle、SqlServer、PostgreSQL数据库
  • 新增:zTree 增加扩展方法 expandNodeByLevel 方便根据层级展开节点
  • 新增:接口API,获取用户权限信息:/a/authInfo;获取用户菜单信息:/a/menuTree

优化

  • 优化:Spring Boot 1.5.9 升级 1.5.10
  • 优化:错误页面优化、升级 beetl 2.7.26
  • 优化:手机端API接口测试优化,支持验证码登录
  • 优化:解压war包后可直接执行startup.bat运行项目
  • 优化:一些体验和性能优化

修正

  • 修正:DataGrid冻结行的时候超连接未绑定btnList事件问题
  • 修正:Excel导入导出中的DictUtils反射方法参数顺序不对问题 #IINDU