问题标签 [grails-3.0.9]
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 HQL 命名参数不起作用
平台 | Grails 版本:3.0.7 | Groovy 版本:2.4.4 | JVM版本:1.8.0_51
我似乎无法在 Grails HQL 查询中使用命名参数。以下工作(在 Grails 服务类中)。
但是,以下方法不起作用:
显示的错误是:
违背我认为正确的,然后我声明属性......
报告的错误是:
作为最后一个测试,我尝试以下删除变量声明和命名参数列表。
完全正确的是,消息返回为:
谁能告诉我我犯的错误?位置参数似乎只是找到但传递了一个命名参数的映射导致这个奇怪的错误
grails - Grails 3.0.9 使用自定义环境升级新任务
我正在尝试在 build.gradle 中创建一个新任务,以使用名为“集成”的自定义环境运行“检查”。
我已经尝试了几件事,并且已经能够从我的自定义任务中运行检查任务,但是我找不到在 int 中设置环境的方法。
这是我现在在 build.gradle 中的任务。这些评论是针对我尝试过的事情,但都失败了,因为该属性不存在。我也尝试将任务设置为类型:GrailsTask,但没有运气
编辑:根据@vinay-prajapati 的建议
试过这个:
它给出了这个错误:
grails-3.0.9 - Grails 3 with Fields plugin - 以特定格式显示数字和日期等字段
Book 域对象有一个 PublicationYear 字段。在显示视图中,它显示为 2,011 或 1,999 或其他。它应该显示为 2011。它曾经是一个简单的 g:fomatNumber 来解决问题。
根据http://grails-fields-plugin.github.io/grails-fields/guide/customizingFieldRendering.html上的 Fields 文档,应该创建一个目录 grails-app/views/controllerName/actionName/propertyName/ 并放置一个 _wrapper .gsp 模板。他们没有说该文件中应该包含什么。我尝试了各种方法,看起来好像只是被忽略了。这一年仍然是 2,013 或其他什么。
这主要需要以各种方式显示日期 - 主要是天或分钟精度。在这种情况下,我想去掉逗号。
知道怎么做吗?我正在使用 Grails 3.0.9 和 Scaffolding 3.1.3,因为任何更新的东西都不会安装模板,如果一只手安装它们,就会忽略它们。
grails - Grails 插件依赖注入在域类和控制器中失败
| Grails 版本:3.0.7
| Groovy 版本:2.4.4
| JVM版本:1.8.0_51
我正在尝试安装 grails 插件:Slug Generator 0.5 ( https://grails.org/plugin/slug-generator )
但是,服务依赖注入在域类或服务中都无法正常工作,并且始终为空引用。
这不是我第一次遇到插件无法成功注入服务:Grails Geocode plugin dependency injection issue
基本上,我似乎无法在我的应用程序中使用某些插件,因为我不能指望服务依赖注入工作。
如果有人可以提供一些见解,我将不胜感激。
我正在遵循以下示例代码:
这是一个示例错误日志:
我注意到的一件事是,在命令行中,以下内容不返回任何内容:
$ grails 列表插件 | grep 蛞蝓
但是,如果我搜索另一个插件,我会得到一个结果:
$ grails 列表插件 | grep 乔达
乔达时间
我可以清楚地看到(通过 IntelliJ)slug 生成器插件在类路径中,我实际上可以通过外部库访问所有源代码。
也许这是对问题的暗示?
grails-plugin - Grails 3 - 以在版本 2 中使用 _form.gsp 可能的方式实现模板的自定义
我对 Grails 比较陌生,我对 Grails 3 中使用字段插件删除 _form.gsp 的方式有点失望。当我们需要使用 Bootsrap 自定义视图或物化时,_form.gsp 似乎是节省时间的好选择。
现在使用 grails 3,install-templates 不会创建 _form.gsp。根据本文档,我们可以通过在 view/_fields/default 目录下创建 _wrapper.gsp、_widget.gsp 等来实现自定义。但我无法找到此类自定义 GSP 的示例。
另外,假设我自定义所有四个 GSP(_wrapper.gsp、_widget.gsp、_displayWrapper.gsp、_displayWidget.gsp)当我们运行 generate-view 命令时它会生成实际代码吗?我的意思是它会用实际代码替换 f:all、f:table 等标签吗?如果没有,那么我猜还有很多工作要做。因为在我们对域类充满信心并测试了所有 CRUD 操作之后,我们运行 generate-view 命令来创建所有特定于域的 GSP。那么在大多数情况下,我们需要根据我们的要求做一些改变,比如重新排序字段,隐藏一些字段
所以总而言之,我有两个目标:
- 自定义默认模板并开始开发。
- 当我运行 generate-view 时,我不想要 f:all、f:table 等抽象标签。我需要实际的字段,以便我可以自定义生成的域视图。
如果有人实现了这一点,那么请分享解决方案。
grails - URL 映射 - 替换从数据库中提取的参数中的字符
我目前正在尝试弄清楚如何修改集成到我正在使用的 URL 映射中的参数。
参数 $title 几乎是一个数据集,它是从数据库中提取的,并将以下列格式传输[这是一个标题]。所以字符串前后都有方括号,单词之间用空格隔开。
如果我现在通过 g:link 创建一个链接,其中嵌套了参数,它会在从数据库中提取时被放入 url。我正在尝试创建 SEO-URL,它将显示由连字符分隔的出版物的某个标题,而不是 url 编码的“%20”。
到目前为止,我能够生成如下所示的动态 url:
此外,我已经通过 JQuery 实现了它,尽管它应该是静态的,并且用户应该能够复制链接以自己打开页面 - 在加载页面时更改 url 客户端时这是不可能的。
有没有办法用 replaceAll.(' ', '-') 之类的函数定义函数,可以在映射中的参数上调用该函数以用连字符替换空格,用空字符替换 fe 方括号?这几乎是我无法通过文档获得的。
预先感谢您的帮助!
grails - 如何防止更新 Grails3 服务方法中的记录以获取
我的应用程序中很少有域类,例如客户和租户。客户域实例具有tenantId 引用,但与租户域类没有关联。
我们试图在 OrderController 中获取一种客户类型。由于它在多种方法中使用,我创建了一个服务方法“getClerkCustomer”来获取客户。用户登录后,tenantId 值存储在会话中。因此 OrderController 中的tenantId 值是从会话中获取并传递给“getClerkCustomer”
执行“getClerkCustomer”时,它会根据类型和租户 ID 检索客户。除了获取客户记录外,它甚至还会更新该tenantId 的租户记录(版本值增加)。我不确定为什么在我们获取客户记录时租户记录版本会增加。Grails 是否有任何按名称更新记录的习惯?
谁能让我知道为什么要为客户获取更新租户,我该如何避免这种情况?
注意:我们在其他域实例中也遇到了这个问题。更新一次实例会增加不同实例上的版本。以上就是这样一种情况。
tomcat - 在 Tomcat 中部署时,带有 jaxrs-jersey1 插件的 Grails 3 战争失败
创建了一个版本为 3.0.9 的 grails 应用程序,并使用插件 jaxrs-jersey1:3.0.0 来创建休息服务。当作为 grails run-app 运行时,我在本地创建了资源并测试了休息服务。当我创建战争并部署在外部 tomcat 服务器中时,它会抛出异常。
我第一次使用 jaxrs-jersey1 并且不确定我是否缺少任何其他配置。
build.gradle 依赖项
grailsVersion=3.0.9
gradleWrapperVersion=2.3
Tomcat 版本:9.0.0.M1
异常日志