grails
斗战圣佛91
这个作者很懒,什么都没留下…
展开
-
Grails 自定义排序(order)
Dropdown.withCriteria { 'in'('state', ['General','CA']) projections { property('state') property('dropDownNames') property('sectionName') property('prefix') property('displayOrder') sqlProj.原创 2021-12-17 13:47:04 · 270 阅读 · 0 评论 -
Grails4.0.9 跨域解决办法
grails: cors: enabled: true allowCredentials: true原创 2021-04-21 18:01:04 · 226 阅读 · 0 评论 -
Grails3.3.9 升级Grails4.0.9 登录不了,后台不报错(There is no PasswordEncoder mapped for the id “null“)
提示There is no PasswordEncoder mapped for the id "null"security plugin 提示解决办法,更新用户表中的密码,增加前缀:{bcrypt}update t_system_user set password = concat('{bcrypt}', password)原创 2021-03-14 21:20:45 · 171 阅读 · 0 评论 -
Grails4 使用LibreOffice + jodconverter 转换Office为PDF文件,实现预览
1、下载LibreOffice,官网地址注意:官网可能下载不了,这里推荐用360下载2、引入组件(jodconverter)compile 'org.jodconverter:jodconverter-local:4.3.0'compile 'org.jodconverter:jodconverter-spring-boot-starter:4.3.0'3、添加配置jodconverter: local: enabled: true o.原创 2020-11-12 18:08:17 · 327 阅读 · 0 评论 -
Grails4 封装MeiliSearch搜索引擎
1、build.gradle引入repositories { maven { url "https://repo.grails.org/grails/core" } maven { url "https://dl.bintray.com/zhangjiayu139/plugins" }}compile 'middolmeilisearch:middolMeiliSearch:0.1'2、编写MeiliSearchUtils工具类package middol....原创 2020-11-02 11:18:52 · 438 阅读 · 0 评论 -
设计模式:原型模式适用于在线考试系统(打乱题目和答案)
详细请了解原型模式原创 2020-10-23 19:40:54 · 826 阅读 · 1 评论 -
Grails4 rest-api 发送html邮件,引用GSP发送
1、build.gradle 引入GSP模板apply plugin:"org.grails.grails-gsp"dependencies { compile "org.grails.plugins:gsp"}2、编写GSP模板3、使用GSP发送html信息4、效果原创 2020-10-21 14:56:28 · 246 阅读 · 0 评论 -
Grails4 操做 Minio
参考转载 2020-10-16 18:10:22 · 133 阅读 · 0 评论 -
Grails4 整合swagger3
参考原创 2020-10-16 13:58:16 · 181 阅读 · 0 评论 -
Grails4 整合HanLP 对文本进行分词、提取关键字
参考官网文档1、build.gradle//hanLP 分词 关键字提取compile 'com.hankcs:hanlp:portable-1.7.8'2、使用HanLP.segment(content)3、效果原创 2020-10-16 12:00:58 · 152 阅读 · 0 评论 -
Grails4 整合 Tika 提取文件内容
Tika官网1、build.gradle 引入:// Tika 内容提取compile 'org.apache.tika:tika-core:1.24.1'compile 'org.apache.tika:tika-parsers:1.24.1'2、获取文件内容def tika = new Tika()String content = tika.parseToString(new File("E:/test/副本信息化指数汇总表需求字段_BDP_20200515_v1.1(1).x原创 2020-10-16 11:57:47 · 256 阅读 · 0 评论 -
Grails4 java.lang.ClassNotFoundException 解决方案
最近在应用包的时候总是报ClassNotFoundException,如下:"D:\Program Files\Java\jdk1.8.0_231\bin\java.exe" -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:CICompilerCount=3 -Djline.WindowsTerminal.directConsole=false -Dfile.encoding=UTF-8 -classpath C:\Users\zhang\AppD原创 2020-10-16 09:56:52 · 358 阅读 · 0 评论 -
Gradle/Grails 排查依赖冲突
参考build.gradle增加如下代码:configurations.all() { Configuration configuration -> //当遇到版本冲突时直接构建失败 configuration.resolutionStrategy.failOnVersionConflict()}效果:解决办法:configurations.all() { Configuration configurati原创 2020-10-15 20:28:47 · 707 阅读 · 2 评论 -
Grails 自动生成数据字典 markdown文件
、原创 2020-10-12 18:31:08 · 225 阅读 · 0 评论 -
Grails4 使用Audit-Logging Stampable 出现报错:HHH000142: Bytecode enhancement failed
详细报错:Hibernate: select this_.role_id as role_id1_6_0_, this_.user_id as user_id2_6_0_ from middol_auth_UserRole this_ where this_.user_id=?2020-10-11 10:20:10.951 ERROR --- [nio-9999-exec-4] o.h.p.p.bytebuddy.ByteBuddyProxyFactory : HHH000142: Bytecod原创 2020-10-11 10:20:59 · 658 阅读 · 0 评论 -
Grails 阿里云镜像地址
"https://maven.aliyun.com/repository/grails-core"原创 2020-09-27 12:18:50 · 512 阅读 · 2 评论 -
Grails4.0.4 使用@Service注解报错 No service found for type interface middol.sys.OrgService
官网issue详细报错如下:"D:\Program Files\Java\jdk1.8.0_231\bin\java.exe" -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:CICompilerCount=3 -Djline.WindowsTerminal.directConsole=false -Dfile.encoding=UTF-8 -classpath C:\Users\zhang\AppData\Local\Temp\classp.原创 2020-09-21 14:03:47 · 433 阅读 · 0 评论 -
Grails service中获取request/response/session/servletContext
def getRequest(){ def webUtils = WebUtils.retrieveGrailsWebRequest() webUtils.getCurrentRequest()}//Getting the Response objectdef getResponse(){ def webUtils = WebUtils.retrieveGrailsWebRequest() webUtils.getCurrentResponse()}//Getti.原创 2020-09-11 17:47:46 · 209 阅读 · 0 评论 -
Grails 增加@CompileStatic 和@GrailsCompileStatic报错
报错现象:解决办法package middol.testimport grails.compiler.GrailsCompileStaticimport grails.gorm.PagedResultListimport grails.rest.*import grails.converters.*import groovy.transform.CompileStaticimport org.hibernate.criterion.Restrictionsimport org.原创 2020-09-11 16:29:16 · 383 阅读 · 0 评论 -
Grails rest-api 多语言
1、设置默认中文beans{ //多语言设置默认中文 localeResolver(SessionLocaleResolver) { defaultLocale= new java.util.Locale('zh_CN') }}2、中英文切换方案方法一:请求头中增加Accept-Language属性如:英文中文:方法二:请求增加后缀 lang=en,如:http://localhost:9999/api/demo/test?la原创 2020-09-11 14:13:42 · 242 阅读 · 0 评论 -
Grails Domain默认将Null转换为空字符串,自定义domain数据转换
// 是否将空字符串转成nullgrails.databinding.convertEmptyStringsToNull = false//是否剔除字符串两边的空格grails.databinding.trimStrings = false自定义转换大小写1、目录2、MiddolFormattedStringValueConverter.groovypackage middol.domainimport grails.databinding.converters.For..原创 2020-09-10 11:50:53 · 293 阅读 · 0 评论 -
查询配置文件的绝对路径
String ds_user_pro = Thread.currentThread().getContextClassLoader().getResource("solr/ds_user_pro.keytab").getPath()String krb5 = Thread.currentThread().getContextClassLoader().getResource("solr/krb5.conf").getPath()结果:原创 2020-09-09 13:13:36 · 366 阅读 · 0 评论 -
Grails 统一返回格式
文件目录结构Result.groovypackage middol.result/*** @Description: 输出结果对象* @Author: zhangjiayu@middol.com* @CreateDate: 2020/3/19 10:55* @Version: 1.0*/class Result implements Serializable{ private static final long serialV.原创 2020-09-02 09:18:40 · 257 阅读 · 0 评论 -
Grails 修改密码原密码校验
!springSecurityService.passwordEncoder.isPasswordValid(springSecurityService?.currentUser?.password, params.oldpassword, null)原创 2020-09-01 15:29:32 · 218 阅读 · 0 评论 -
Grails gorm-tools 批量操作性能优化(GparsAsyncSupport)
参考原创 2020-08-25 11:52:33 · 438 阅读 · 0 评论 -
Grails4 Spring Security rest plugin 自定义登录(增加验证码校验)
1、重写 RestAuthenticationFilterpackage middol.authimport grails.converters.JSONimport grails.plugin.springsecurity.rest.SpringSecurityRestFilterRequestMatcherimport grails.plugin.springsecurity.rest.authentication.RestAuthenticationEventPublisherimpo原创 2020-08-19 17:21:33 · 380 阅读 · 0 评论 -
Groovy AST转换注解
参考原创 2020-08-18 09:52:09 · 330 阅读 · 0 评论 -
Grails4 开发(dev)、测试(test)、生产(prod) 环境配置快速切换
1、application.yml---grails: profile: rest-api cors: enabled: true codegen: defaultPackage: qmsv2 databinding: dateFormats: - 'dd/MM/yyyy' - 'dd/MM/yyyy HH:mm:ss' - 'yyyy-MM-dd.原创 2020-08-12 17:58:45 · 324 阅读 · 0 评论 -
Grails domain Id 无生产策略,手动生成id
class Menu { String id; String name;}static constraints = { // id bindable : true name nullable:true}static mapping = { // id column:'MENU_ID' , generator:'assigned' name column:'MENU_NAME'}原创 2020-08-06 08:26:27 · 183 阅读 · 0 评论 -
Grails 在src下获取请求地址
GrailsWebRequest request = GrailsWebRequest.lookup()request?.request?.requestURI原创 2020-08-05 12:54:04 · 187 阅读 · 0 评论 -
Grails4 多种登录方式(用户名、邮箱、手机号码)
1、自定义 MiddolCustomUserDetailsService 并实现 GrailsUserDetailsServicepackage middol.authimport grails.core.GrailsApplicationimport grails.gorm.transactions.Transactionalimport grails.plugin.springsecurity.SpringSecurityUtilsimport grails.plugin.springs原创 2020-08-05 10:39:48 · 523 阅读 · 0 评论 -
Grails4 自定义二级缓存(使用Jedis插件),重写RegionFactoryTemplate
参考hibernate二级缓存实现创建rest-api-plugin插件,目录结构1、实现 RegionFactoryTemplate 类package middolhibernaterediscacheimport grails.plugins.redis.RedisServiceimport grails.util.Holdersimport groovy.transform.CompileStaticimport groovy.util.logging.Slf4ji.原创 2020-08-03 11:18:55 · 573 阅读 · 2 评论 -
Grails 使用redisson做二级缓存
参考目录结构Build.gradle 添加依赖compile group: 'org.redisson', name: 'redisson-hibernate-53', version: '3.13.2'redisson.yaml# 配置参见 https://github.com/redisson/redisson/wiki/2.-%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95# 单节点设置,其余模式待测试singleServerConfig:原创 2020-07-28 08:42:12 · 665 阅读 · 0 评论 -
Grails GrailsApplication使用
grails-app下1、获取所有的domainclassGrailsApplication grailsApplication//获取配置信息grailsApplication.config.getProperty('foo.bar.hello')grailsApplication.config.database.driver//获取应用版本信息grailsApplication.metadata.getApplicationVersion()//获取grails版本信息grail原创 2020-07-22 20:07:55 · 599 阅读 · 1 评论 -
Grails4 使用官方逻辑删除插件list和findAll方法不起作用
1.克隆官方插件2.找到LogicalDelete.groovy文件3.增加如下代码: static List<D> list(){ if (IGNORE_DELETED_FILTER.get()) { this.currentGormStaticApi().list() } else { new DetachedCriteria(this).build { eq原创 2020-10-23 09:50:14 · 204 阅读 · 0 评论 -
Grails 实体类中使用枚举类型(Enum)
package middol.sysimport grails.compiler.GrailsCompileStaticimport middol.enums.FlowStatus@GrailsCompileStaticclass Airport implements Serializable{ private static final long serialVersionUID = 1 String name FlowStatus flowStatus st.原创 2020-07-22 10:59:54 · 300 阅读 · 0 评论 -
Grails Security Rest plugin 统一返回格式
登录成功(api/login),增加登录日志package middol.authimport grails.converters.JSONimport grails.plugin.springsecurity.rest.token.AccessTokenimport grails.plugin.springsecurity.rest.token.rendering.AccessTokenJsonRendererimport grails.plugin.springsecurity.user原创 2020-07-22 00:15:09 · 271 阅读 · 1 评论 -
Grails 增加实体类的增删改监听(操作日志)
package middol.baseimport grails.converters.JSONimport groovy.util.logging.Slf4jimport org.grails.orm.hibernate.support.ClosureEventTriggeringInterceptorimport org.hibernate.event.spi.PostInsertEventimport org.hibernate.event.spi.PostUpdateEventimp.原创 2020-07-21 23:44:17 · 313 阅读 · 0 评论 -
Grails 下载文件加密解密
11111原创 2020-05-27 13:38:59 · 121 阅读 · 0 评论 -
Grails 实体类及列名添加备注信息,并设置superClass超类
package middol.demoimport gorm.logical.delete.LogicalDeleteimport grails.plugins.orm.auditable.Auditableimport grails.plugins.orm.auditable.Stampableimport grails.rest.*import middol.global.SubClassRestfulController@Resource(uri = '/book', formats.原创 2020-05-27 09:45:49 · 336 阅读 · 0 评论