问题标签 [grails3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - 渲染和响应自定义 gson 的不同(都不好)输出
我正在使用 Grails 3.2.3 并在grails-app/views/training中创建了自己的视图:
在_short-training.gson
简而言之,index.gson
在控制器中,我尝试了两种不同的方法,但没有一种方法有效。两者都返回 200 状态,但我收到的不是 6 个训练实例:
[空,空,空,空,空,空]
[]
似乎训练在使用渲染时在short-index.gson中可见,但没有进一步传递。响应根本不通过培训。我错过了什么?
json - GRAILS 以原子 json 值响应
我有返回 json 的原子值(用户/hasPrivilege 等)有意义的操作,并且希望我的响应只包含“true”或“false”,我还希望能够发送原始数字和字符串. 我认为这些将被视为有效的 json,但得到错误:
当接受标头是 json 时,是否可以指示 Grails 序列化这些?
grails - grails DefaultGrailsDomainClass.getIdentifier 总是返回 'id 作为标识符
我正在尝试为基于角度的 CRUD 应用程序(脚手架,但客户端,使用角度)编写生成器
其中一部分包括从 GORM 中提取元信息 现在,我显然已经碰壁了。
我想处理 ID 字段不是生成,而是由应用程序管理的情况。假设我有一个类定义,例如:
我想检索用作此类标识符的字段,此处应为“phoneId”。
但如果我要求:
我得到的是一个属性,称为 Long 类型的“id”:
我是否误用了 getIdentifier 方法?有什么我错过的吗?还是我在 Grails/GORM 中遇到了错误?
为了完整起见,这是我正在使用的 GORM 版本(据我所知......最近在 gorm 方面发生了很多变化......):
来自 build.groovy:
另外,我正在使用 grails 控制台插件来运行这些测试:
(我觉得这真的很棒)但可能同样可以从普通的命令行控制台中运行。
这是我使用的代码:
问题是:假设(实际上恰好是......)我正在编写一个插件来检索有关域类的元信息;我如何从 GORM 获取此类已被分配字段“phoneId”作为唯一标识符的信息,这是我在通过 REST 查询资源时应该查看的值?
grails-plugin - 如何从 Grails 3 的开发环境中排除插件?
我想在开发模式下运行时禁用特定插件。在 Grails 3.x 中是否有通用的方法来实现这一点?
我为 Grails 2.x 找到了以下解决方案,但它们不适用于 Grails 3,因为它使用 Gradle 而不是 BuildConfig.groovy:
具体来说,我正在寻找一种在本地开发模式下运行时禁用 Spring Security 插件的LDAP 子插件的方法。
更新:我发现org.grails.plugins.DefaultGrailsPlugin
有一个isEnabled
方法,它根据插件profiles
列表是否匹配活动配置文件集(例如"development"
)返回一个布尔值。
profiles
但是初始化列表 ( )的私有方法evaluateProfiles
似乎没有在任何地方调用(它可能应该initialisePlugin
与其他evaluate*
方法一起被调用)。
hibernate - 在 GORM 中使用特定类时会丢失级联行为
基本关联航班在使用时以级联方式正确保存,例如。Set
对于关联,但在有派生类时不是:
版本#1:Set flights
版本#2:DerivedSet flights
版本 #1级联保存工作正常。
版本 #2级联不起作用(DerivedSet
是class DerivedSet extends Set {...}
)
可能在域类转换期间没有考虑派生类,但不确定如何将框架改进到这个方向。万一有人可以帮忙,谢谢...
jms - 发送消息期间的Grails 3 JMS错误
由于问题https://github.com/gpc/jms/issues/27我已添加到 application.yml
应用程序启动,但在发送消息期间应用程序出现错误
org.springframework.beans.factory.NoSuchBeanDefinitionException:在 org.springframework.beans.factory.support 的 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:704) 中没有定义名为“standardJmsTemplate”的 bean。 AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1175) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: 197) 在 org.springframework.beans.factory.BeanFactory$getBean$3.call(Unknown Source) 在 grails.plugin.jms.JmsService 的 org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1054)。normalizeServiceCtx(JmsService.groovy:381) 在 sun.reflect.GeneratedMethodAccessor1971.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java: 498)在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59) 在 org.codehaus. .groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174) 在 grails.plugin.jms.JmsService.send(JmsService.groovy:147) 在 grails.plugin.jms.JmsService.send(JmsService.groovy) 在grails.plugin.jms.JmsService$send.call(未知来源)在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$ 的 java.lang.reflect.Method.invoke(Method.java:498) 的 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 调用(未知来源) PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java: 174) grails.plugin.jms.JmsService.send(JmsService.groovy:147) grails.plugin.jms.JmsService.send(JmsService.groovy) grails.plugin.jms.JmsService$send.call(Unknown Source)在 org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$ 的 java.lang.reflect.Method.invoke(Method.java:498) 的 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 调用(未知来源) PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java: 174) grails.plugin.jms.JmsService.send(JmsService.groovy:147) grails.plugin.jms.JmsService.send(JmsService.groovy) grails.plugin.jms.JmsService$send.call(Unknown Source)callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent( AbstractCallSite.java:174) 在 grails.plugin.jms.JmsService.send(JmsService.groovy:147) 在 grails.plugin.jms.JmsService.send(JmsService.groovy) 在 grails.plugin.jms.JmsService$send.call (来源不明)callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent( AbstractCallSite.java:174) 在 grails.plugin.jms.JmsService.send(JmsService.groovy:147) 在 grails.plugin.jms.JmsService.send(JmsService.groovy) 在 grails.plugin.jms.JmsService$send.call (来源不明)plugin.jms.JmsService.send(JmsService.groovy) 在 grails.plugin.jms.JmsService$send.call(未知来源)plugin.jms.JmsService.send(JmsService.groovy) 在 grails.plugin.jms.JmsService$send.call(未知来源)
Grails 3.1.14 org.grails.plugins:jms:2.0.0.RC1
我希望,可以通过配置解决的错误
grails - 如何在 Grails 控制台中调用 Grails 3 中的控制器操作?
我一直在尝试从控制台调用 Grails 3 中的控制器操作。到目前为止,我已经能够使用以下代码在我的 Grails 控制台中注入控制器实例,但无法触发该操作。
java - Grails 3.2.4 拒绝保存域实例:java.lang.IllegalArgumentException: object is not an instance of declaring class
我正在从 Grails 2.4.4 升级到 Grails 3.2.4。
我已经设置了一些工厂来帮助我进行测试,角色工厂工作正常,它在创建用户之前运行。然后我有以下代码:
其中输出为:
保存方法失败,不是由于验证错误。
我的类结构是 APEntity 作为抽象类,而 User 类继承自 APEntity 类。此代码在 Grails 2.4.4 中运行良好
任何我可以寻求修复错误的建议将不胜感激。
spring-security - springsecurity.debg.useFilter = false 时如何登录
Grails:3.1.6 Spring 安全核心:3.1.1 Java:1.8
我有一个自定义登录表单和一个自定义登录控制器。登录表单指向登录控制器的 index 方法,然后转发到 filterProcessUrl:
forward uri: "${request.contextPath}${getConf().apf.filterProcessesUrl}", params: params
我设置后就可以登录了grails.plugin.springsecurity.debug.useFilter = true
当我grails.plugin.springsecurity.debug.useFilter = false
在我的 application.groovy 中设置时,当我尝试登录时,我被发送到我的 404 页面。就像apf.filterProcessesUrl
'/login/authenticate' 不再被识别为有效 URL。我可以在日志中看到它从未在 filterProcessesUrl 上运行任何过滤器,而是直接从“登录/索引”跳转到“/错误”并且不会触发“AuthenticationFailureBadCredentialsEvent”。
为什么只有当我有 debug.useFilter = true 时它才起作用?
authentication - Grails 3 - springSecurity 用密码重新认证
我只是碰巧注意到使用
对于手动用户身份验证(在控制器中),无论 的值如何password
,即正确密码、错误密码、空密码等都会成功。
我错过了什么吗?
springSecurityService 方法的声明
void reauthenticate(String username, String password = null)
一开始我非常确信密码检查已经到位。
配置
- 圣杯 3.2.4
- Spring Security 插件(核心)3.1.1