问题标签 [groovy]

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.

0 投票
7 回答
9981 浏览

grails - Groovy Mixin?

我正在尝试在我的 Groovy/Grails 应用程序中混入一个类,并且我正在使用docs 中定义的语法,但我不断收到错误消息。

我有一个看起来像这样的域类:

它编译得很好,但由于某种原因它不起作用。包含 ImagesMixin 的文件位于我的/src/groovy/目录中。

我已经使用 Groovy 版本 1.5.7 和 1.6-RC1 尝试过,但没有任何运气。有谁知道我做错了什么?

堆栈跟踪:

0 投票
6 回答
9800 浏览

javascript - 在 Grails 的 JavaScript 源代码中执行 groovy 语句

在 Grails 中,基本上有 2 个地方可以定义 JavaScript 函数,直接在 GSP 上的元素中,以及在 /web-app/js 下的单独 javascript 源文件中(例如 application.js)。我们在 application.js 中定义了一个常用的 javascript 函数,但我们还需要能够使用 groovy 代码动态生成函数的一部分。不幸的是,${some groovy code} 似乎没有在单独的 javascript 源文件中处理。

是通过在 GSP 页面上的脚本标记中定义 javascript 函数来做到这一点的唯一方法,还是有更通用的解决方案?显然,我们可以在模板 GSP 文件中的脚本标记中定义 javascript 函数,该文件将被重用,但是有很多努力将我们的 javascript 函数一起定义在一个地方(即外部 javascript 源文件)。这也有性能优势(javascript 源文件通常只由每个客户端的浏览器下载一次,而不是在他们访问的每个 html 页面的源中重新加载相同的 javascript 函数)。我玩弄了将功能分解为静态和动态部分的想法,将静态部分放在外部源中,将动态部分放在模板 GSP 中,然后将它们粘合在一起,

有任何想法吗?

(编辑:这听起来像是动态生成 JavaScript 函数的一部分,然后下载一次并由客户端一遍又一遍地使用的想法,这是一个坏主意。但是,“动态”部分只会改变也许每周或每月一次,然后很少。大多数情况下,我们只希望从数据库中生成这个片段,即使只有一次,而不是硬编码。)

0 投票
4 回答
1356 浏览

grails - 如何将 Grails 中由组合框表示的字段设为可选?

我正在使用 Grails 进行第一次实验,并且正在寻找一种方法让组合框表示的字段(例如一对一的域关联和具有窄范围约束的数字)是可选的,即应该有一个空的在组合框中输入。

如何做到这一点?我已经尝试nullable:true在静态属性中添加约束和列出字段optionals,但都没有产生所需的结果。

这些是我的域类:

0 投票
5 回答
4153 浏览

java - 有没有令人信服的理由不使用 Groovy?

在离开平台很久之后,我正在用 Java 开发一个 LoB 应用程序(在过去 8 年左右的时间里,我一直在 Fortran、C、C++ 和后来的 .Net 中根深蒂固)。

Java,这门语言,与我记忆中的相比并没有太大变化。我喜欢它的优势,我可以解决它的弱点——平台已经发展壮大,并且决定无数不同的框架似乎做同样的事情是另一回事;但这可以再等一天——总的来说,我对 Java 很满意。然而,在过去的几周里,我已经迷上了 Groovy,这纯粹是出于自私的观点:但不仅仅是因为它使针对 JVM 的开发变得更加简洁和有趣(而且,嗯,“groovy”)命题比Java(语言)。

Groovy 最让我印象深刻的是它固有的可维护性。我们都(我希望!)努力编写有据可查、易于理解的代码。然而,有时我们自己使用的语言会打败我们。一个例子:2001 年,我用 C 语言编写了一个库,用于将 EDIFACT EDI 消息转换为 ANSI X12 消息。这不是一个特别复杂的过程,如果稍微涉及的话,我当时认为我已经正确地记录了代码 - 我可能已经 - 但大约六年后,当我重新访问该项目时(并且在适应 C# 之后)我发现我自己迷失在如此多的 C 样板(malloc、指针等)中,以至于我花了三天的时间进行深思熟虑的分析,才终于明白了六年前我一直在做什么。

今天晚上我写了大约 2000 行 Java 代码(毕竟是休息日!)。我已经尽我所知记录了最好的文档,但是,在这 2000 行 Java 中,很大一部分是 Java 样板。

这就是我看到 Groovy 和其他动态语言通过可维护性和后来的理解而获胜的地方。Groovy 让您专注于您的意图,而不会陷入特定于平台的实现;它几乎是但不完全是自我记录。当我在几年后重新审视我当前的项目(我将尽快移植到 Groovy)时,我认为这对我来说是一个巨大的福音,对我的继任者来说,他们将继承它并继续做好工作。

那么,有什么理由不使用 Groovy 吗?

0 投票
2 回答
1527 浏览

rest - RESTful Grails:如何在我的 XML 中包含相关实体?

假设我有一个名为 Store 的类,它有很多员工。我的 RESTful listXML 方法如下所示:

结果如下所示:

我的问题是,如何包含每个 Employee 类的所有数据,以便我的 XML 看起来像这样?

0 投票
1 回答
12070 浏览

groovy - 在 Groovy 中使用 findAll 集合闭包

我有一个需要使用 findAll 闭包的“Set”。Set 包含对象,而不仅仅是原始值。例如...我有一组员工对象,我需要通过员工的属性迭代和抓取该员工对象集的元素。

由于某种原因, findAll 闭包似乎只是忽略了我的关闭并返回一个空集。

这是我的语法;

0 投票
2 回答
1074 浏览

grails - 如何在 Groovy/Grails 中记录标记库(或一般的闭包)

我正在编写我的第一个 taglib 作为插件的一部分,我想记录它。添加 javadoc (有没有记录 groovydoc 的地方,或者它真的是一回事吗?)似乎不适用于非方法。

具体来说,如何在以下文件中记录 def mytag:

由于 Grails 中的很多东西都是使用闭包来指定的,如果真的无法记录它们,那么看起来我们就有问题了。是否有其他一些涉及我应该使用的单独文档文件的解决方案?

0 投票
1 回答
8307 浏览

sql - 如何在 Grails/Hibernate 中计数:Message.countBy

如何计算正文长度在 0 到 25 个字符之间的消息数量?

对我来说不幸的是,countBy它不带字符串参数。

0 投票
4 回答
5385 浏览

xml - Groovy+ XML:使用命名空间前缀处理属性

我正在使用 Groovy 处理 XML 文档,并为某个属性测试一个节点,该属性具有命名空间前缀。它是如何工作的:

在常规脚本中:

在 XML 文档中:

寻找类似的东西:

THX 谢顿

0 投票
1 回答
5205 浏览

groovy - 杀死一个使用 Groovy execute() 启动的进程

我可以使用 Groovy 从 Groovy 运行 Groovy 脚本

proc = "cmd /c groovy BillingServer.groovy".execute(null, new File("C:\"))

但是,我找不到终止/终止进程的方法。 waitForOrKill(1)destroy()像他们已经工作一样“行动”,但外部过程继续运行。调用exitValue()失败

java.lang.IllegalThreadStateException:进程尚未退出

如何终止我已经启动的进程?