问题标签 [grails-2.3]
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 - Gsp页面在用字符串替换时保留html标签
我正在使用 grails 2.3
在 gsp 页面的上述语句中,如果 params.query 值可用,我想突出显示 name 属性。但生成的代码包含 html 等效字符。
如何在 gsp 页面中显示如下。在 1.3 版本中它工作。但在 2.3 版本中,相同的代码看起来像上面一样。我想将其显示为,
grails - 如何终止以“run-app”开头的 Grails 2.3 应用程序?
在 2.3 版之前,在控制台窗口中使用“ run-app ”(开发模式)启动的 Grails 应用程序可以使用Ctrl-C终止。它不再适用于 Grails 2.3,只是忽略了击键。有“ stop-app ”命令,但它也不会终止正在运行的应用程序。
我可以通过终止控制台窗口来终止应用程序,但我不想这样做,因为在这种情况下,我会丢失打印到该控制台的所有调试输出。
maven - Grails - 使用 maven 构建模块化项目
我正在开发 grails 2.3.4 应用程序,并且正在尝试添加 maven (3.1.1) 以用于构建目的。我这样做是因为我的项目是模块化的(2 个插件,1 个应用程序 - 现在,以后会有更多插件)并且我想要支持它的工具(我没有使用 Gradle,但这完全是另一个话题)。最近发现了一些我不明白的问题,让我很伤脑筋。对于他们的任何帮助,我将不胜感激。
我的项目结构如下所示:
我的父母 pom.xml:
示例子 pom.xml:
我可以通过以下方式执行集成测试:
- mvn test -(来自父目录或子目录)-仅执行单元测试
- grails:test-app - (from child dir) - 执行单元和集成测试
- mvn grails:test-app - (仅来自子目录)执行单元和集成测试 - 但它执行两次而不是一次(u,i,然后再执行一次 u,i)
- mvn grails:execute -Dcommand=test-app - (仅从子目录) - 执行适量的单元和集成测试(u,i)但在集成测试期间,其中一些突然启动失败(!!!!)它只是让我大吃一惊为什么..
所以,如果有人试图混合 grails 2.3,也许你有一些关于:
如何配置 maven 以便能够从父 pom 运行 mvn grails:test-app,而不是这样的结果:
/li>为什么通过
mvn grails:test-app
通过和mvn grails:exec -Dcommand=tests-app
失败执行的集成测试以及如何修复它?我需要 exec 命令用于某些特定目的,并且我希望能够依赖它。这是我最大的问题,我完全不明白可能是什么原因- 为什么
mvn grails:tests-app
会导致双重测试执行? 为什么我需要为 tomcat 添加 h2 依赖项?在我的数据源中,我只有 mongodb 配置,我只想坚持使用它,并且每次执行集成测试时都不会看到以下错误:
/li>
感谢所有到目前为止并且仍在阅读的人 - 无论您是否可以提供帮助:)
汤姆
grails - Grails 2.3.4 生成的脚手架验证
我试图了解 Grails 2.3.4 生成的脚手架方法如何执行验证。例如,这是为我的 Club 域保存方法生成的:
据我了解,验证的第一阶段发生在数据绑定到保存操作的 Club clubinstance 参数上。所以任何数据绑定错误都会在 if (clubInstance.hasErrors()) 上被捕获。
如文档所示,我没有看到对 clubInstance.validate() 的显式调用或对 clubInstance.save 的任何错误检查。然而,它似乎确实有效。那么如果存在约束冲突,该方法如何验证并返回视图呢?
更重要的是,我们不应该使用生成的脚手架控制器作为在 Grails 中执行基本 CRUD 的最佳实践方式吗?
grails - 如何浏览 Grails 核心源代码以更好地理解框架?
通常在 Spring Source Tool Suite IDE 或 Eclipse Maven 项目中,如果我想查看框架/库方法在幕后做什么,我可以 ctrl + 单击方法名称,它会将我带到源代码。我知道很多 Grails 方法是在运行时动态添加的,因此 IDE 并不总是可能知道如何获取它们。否则,我可以在 Google、Github 或 API 文档上按包搜索类。使用 Grails 核心源代码更好地理解框架的最佳方法是什么?
例如,我想查看控制器中的响应方法是什么样的,以及当 index 方法看起来像这样时,它如何将名为“clubInstanceList”的参数返回给我的俱乐部/索引 gsp:
ctrl + click 在 IDE 中不起作用,因为此方法是在运行时添加的。我在 github 上搜索了 Grails 核心源,但不知道控制器上此响应方法的包结构。
eclipse - GGTS (3.4.0) 不适用于 Mac OS X (10.7.5) 上的 grails 2.3.3
我无法让 GGTS (3.4.0) 与 grails 2.3.3、java 1.7.0_u45 和 groovy 2.1 一起使用。我正在使用 Mac OS X 10.7.5。在终端中一切正常,即我可以创建项目(创建应用程序)、运行它们(运行应用程序)、全部清理等。但这些命令在 IDE 中不起作用。
我已经执行了以下帖子中提到的修复,但只有错误消息发生了变化:
Grails GGTS IDE GrailsProcessDiedException:Grails 进程死亡
grails-2.3.0.M1 无法在 IntelliJ IDEA 130.754 中启动
任何帮助,将不胜感激。
我有 JAVA_HOME 指向正确的 jdk,如下所示:
我有一个 GRAILS_HOME 的条目,就像这样
当我在终端中检查我的 java、groovy 和 grails 版本时,我得到:
我还在 GGTS 设置中添加了 grails 2.3.3,还安装了 Grails 和 Groovy 2.1 插件。
每当尝试在导入的项目上创建新的 grails 项目或刷新依赖项时,我都会收到以下错误:
grails - Grails 2.3 domain.encodeAsHTML() 从 domain.equals() 抛出空指针异常
我不是 100% 清楚我的问题来自哪里。当我从 grails 2.2.3 升级到 2.3.5 时,问题就开始了。我知道默认情况下(至少,可能有一些配置更改)现在几乎所有内容都默认编码为 HTML,但我也知道双编码已被处理,我认为这与双编码无关。
在我的代码库中,许多变量都是显式编码的AsHTML()。在 grails 升级之后,这是抛出 NullPointerException。
我的跟踪从一个简单的 .gsp 开始,带有域对象的标准显示:
${myDomain.encodeAsHTML()}
如果我删除 encodeAsHTML(),它可以工作(但由于我没有添加 Config 位来编码所有内容,它不会编码)。
堆栈跟踪的下一步指向我
这指向我的 equals() 方法。
我的第一个困惑是“为什么'encodeAsHTML()' 在我的对象上调用equals() 方法并将其与空对象进行比较?”
我的第二个(可能不相关,但值得一提)来自检查 equals() 方法本身的值:
日志输出显示:myPackage.MyDomain Comparing TheValue to null, o is null? 错误的
需要注意的是,当我检查 ${!o} 而不是 ${o == null} 时,它会打印“true”,但我很困惑 (o == null) 是 false,但我在 o.class 上得到了 NPE
我可以更新我的所有域类 .equals() 方法来检查 (!o) 并返回 false,但我不认为这是正确的解决方案。
我的许多域对象都用于更改持久性上下文,这首先导致了覆盖 equals() 和 hashCode()。删除这些是不可行的。
ajax - 用于动态添加多个值的 UI,例如 Grails 中的 LinkedIn 技能部分
我最近开始使用 Grails 开发 Web 应用程序。我只是想知道如何将 Grails 脚手架为多对多关系(您可以在其中Ctrl
添加多个值)提供的多选列表转换为我一次添加一个值并且它具有X
to删除附加值并+
添加更多。类似于 LinkedIn 的技能部分或我们在提问时在 StackOverflow 中添加标签的方式。
grails - 为什么在开发我的 grails 插件时集成测试中的依赖注入失败
使用生成的集成测试(grails create-integration-test package.ServiceName)时,我无法在测试中使用注入的服务 - 在 grails 插件中。
它抛出了一个非常无用的 NullPointerException
然而,同样的过程——但在 grails 应用程序中使用(grails create-app)完全没有问题。
您可以通过以下方式复制它:
> grails create-plugin myServicePlugin
>grails test-app
//按预期通过
>grails create-service testing.DummyService
更改\myServicePlugin\test\unit\testing\DummyServiceSpec.groovy
更改
至
>grails test-app
//通过
>grails create-integration-test testing.DummyService
更改\myServicePlugin\test\integration\testing\DummyServiceSpec.groovy
更改
至
>grails test-app integration:
//按预期通过
到目前为止一切都很好。现在编辑DummyService
做一些事情errmm .. Dummy-ish
改变\myServicePlugin\grails-app\services\testing\DummyService.groovy
添加
后def serviceMethod(){}
现在将服务注入测试规范
改变\myServicePlugin\test\integration\testing\DummyServiceSpec.groovy
添加def dummyService
以下
并将"test something"
方法体更改为:
这就是世界倒塌的地方。
>grails test-app integration:
grails - Grails 2.3.5 在每次代码更改后都需要“grails clean”
每次我修改我的代码时,我都必须在运行grails clean
之前运行grails run-app
。如果我不这样做,我会收到这样的消息:
这真的很奇怪,因为 Grails 似乎无法加载 Oracle 数据库驱动程序......但如果我运行它加载正常
我正在开发的这个应用程序今天从 Grails 2.2.4 升级。升级是无缝的(直到这个)。我所要做的就是改变hibernate和tomcat版本然后运行grails upgrade; grails clean
任何想法如何获得它,以便我可以修改代码并重新启动使用grails run-app
或更好...让重新加载功能工作,所以当我进行代码修改时,它会自动编译我刚刚保存的文件(这在 Grails 2.2 中效果很好.4)。