问题标签 [grails-2.0.4]
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 - 如何将插件项目作为依赖项添加到我的主要项目中
我的要求如下:
我将有三个项目。
- 主要项目(Grails项目)
- 主项目适配器(Grails 项目)
- 域插件项目(Grails 项目)
域插件项目将包含所有域类及其测试用例。所以,我想在其他两个项目中使用这些域类。这里,我想先构建Domains插件项目,这个构建项目的输出应该是其他两个项目的依赖。我应该可以在 BuildConfig.groovy 中配置它。
目前,我已经通过以下方式完成:
使用 create-plugin 创建了一个插件项目,然后是 package plugin 命令。现在,我将该 ZIP 文件保存在我的 lib 文件夹中,并在 Build-config.groovy 中进行了配置。这按预期工作。但是,当我更改域类时,我需要做很多事情。就像将其应对到 lib。
有没有可能按照我解释的第一种方式做..!! 请帮我解决这个问题..!!
提前致谢
grails - 在 Grails 中,如何根据鉴别器在数据库中搜索某些内容?
假设我有以下课程:
我需要实现一个搜索算法,这样,给定一个 JSON 字符串,我可以在数据库中找到一个特定的 Fruit 实例。例如:
或者
问题是,水果可以有相同的名称,所以如果我只是搜索这个:
它可能会返回Apple
或Banana
。我需要能够根据类型过滤它的类型,比如:
我如何在 Grails 中做到这一点?
grails - 在 Grails 中,如何获取基类型的所有子类的所有鉴别器值的列表?
假设我有以下课程:
等等等等。我现在需要显示一个下拉列表,其中包含所有扩展子类的所有鉴别器值的列表,Fruit
例如:
这很容易对其中的 4 个进行硬编码,但在我的实际域中,这个列表可能会变得很长。有没有办法获得所有实现基类型的子类的所有鉴别器值的列表?像这样的东西,例如:
grails - 在 Grails 中,如何在单元测试中模拟 GrailsDomainBinder?
我有一堆像这样的子类:
换句话说,Fruit
是一个带有Apple
和Pear
作为子类型的基本类型。我公开了一个type
获取子类中设置的鉴别器值的属性。
现在我有一个JsonExportService
将实例导出为 JSON 数据的方法。当我运行应用程序时,该服务正确导出了type
用鉴别器值填充的属性。
我现在需要为JsonExportService
. 问题是,GrailsDomainBinder
在单元测试中似乎没有被嘲笑,而且我得到 NPE: cannot access discriminator
property on a null object。
我可以通过两种方式解决它:
在每个子类中创建一个与鉴别器具有相同值的静态属性:
不过,这似乎真的很老套,我在两个地方声明了相同的值。
getType()
将代码更改为:这可行,但现在我基本上完全忽略了鉴别器,并且单元测试并不“完整”,因为它需要后续集成测试以确保该
getType()
方法返回正确的值。
有谁知道从域映射中获取鉴别器值的更好的、单元测试友好的方法?
grails - 在 Grails 中,是否可以更改持久实体的子类型?
假设我有以下课程:
假设用户想要创建一个新的Apple
. 他们从下拉列表中选择一种类型,然后我使用一项服务将类型字符串转换为具体类型:
这将成功保存一个新Apple
实例。
现在假设用户意识到他们犯了一个错误并且他们想创建一个Orange
代替。在编辑视图中,我为用户提供了将类型更改为 an 的功能Orange
,但是如何更新现有Apple
实例以使其现在为 an Orange
?由于其他关系,我不能简单地删除Orange
并创建一个新实例。Apple
这甚至可能吗?
performance - 如何在开发模式下提高 grails2.0.4 的性能?
我正在使用 grails 框架。响应来自浏览器的请求需要太多时间。由于这个问题,我不得不多次重启服务器。我将非常感谢您的准确回答。
grails - Grails Spock集成测试redirectedUrl在localhost test-app和构建服务器test-app之间不同
我有一个 Spock 集成测试,看起来像这样:
然后在控制器中,逻辑很简单:
当我在本地机器上运行这个 Spock 测试时,测试通过了。但是,在构建服务器上,我收到以下错误:
由于某种原因,在构建服务器上,Spock 测试认为控制器名称test
不是priceTier
,因此测试会失败。这似乎只发生在 Spock 集成测试中,因为 Spock 单元测试和一些遗留的 Grails mixin 测试都可以通过。
有谁知道可能导致这个问题的原因是什么?
hibernate - Hibernate OptimisticLockingFailureException 在它应该抛出的时候没有抛出
假设我有以下域类:
我想通过视图更新它的名称。我正在使用以下表格来更新它:
在控制器中,我使用以下逻辑:
我通过在 2 个不同的浏览器中打开相同的编辑页面来测试它。我updateName
在一个浏览器中做,然后是另一个。第二个updateName
应该是抛出一个OptimisticLockingFailureException
,但事实并非如此。
我启用了 SQL 输出,这就是我在日志中得到的:
换句话说,在第二次调用中,我能够成功地将版本从 1 分配到 0,这应该导致异常,但由于某种原因,SQL 调用仍然错误地检查版本 = 1 而不是 0。有人知道为什么会这样吗?
php - 如何绕过grails中的spring security登录检查
我有控制器方法,它返回 json 数据并且没有安全检查逻辑。
我正在从另一台服务器(跨域)的 php 页面执行 ajax 请求。
数据不是来自服务器,它仅在用户登录到应用服务器时才有效。如何在不检查 grails 登录的情况下处理这些请求。
json - 如何告诉 Grails 将 JSONNull 呈现为 null?
我有一个从 Groovy 的 HTTPBuilder 返回的 JSON 对象。JSON 包含一些表示为 JSONNull 对象的空值。问题是当我尝试在响应中呈现 JSON 时,当它尝试呈现 JSONNull 时出现错误。我得到一个仅部分呈现的响应。我希望它呈现为“null”。我该怎么做呢?
代码:
错误:
部分渲染输出: