问题标签 [grails-3.0]
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-3.0 - grails 3.0.x url映射不起作用
我应该把类 UrlMappings 放在哪里?在 grails-app/conf/ 或 grails-app/controllers 下??
UrlMappings 如下
/li>
checkpreload.gsp 在 views 文件夹下,没有与之关联的控制器,它在 grails 2.4.4 中工作,但是如果我将 UrlMappings 放在控制器文件夹下,返回 404,如果我把它放在 grails-app/conf 下,则回报将是
javax.servlet.ServletException:无法解析名称为“grailsDispatcherServlet”的 servlet 中名称为“checkpreload”的视图
请帮助,我想访问一个没有关联控制器的 gsp 文件
mongodb - grails 3 mongodb:类 [] 上的方法在 Grails 应用程序之外使用
我正在使用以下内容:
- Grails 版本:3.0.1
- Groovy 版本:2.4.3
- JVM版本:1.8.0_05
- MongoDB:3.0.3
我有两个看起来像这样的域对象:
和
我有一个看起来像这样的控制器:
当我通过以下方式发布到控制器时:
我得到的回应{"id":1}
。但是,如果我将以下行添加到我的 Contact 和 PhoneNumber 域对象:
我收到以下错误:
还需要做什么才能在 POST 上编组 mongodb 域对象?
gradle - Grails 3“grails”与“gradlew”任务
我正在试验完全基于 Gradle 的 Grails 3。要创建一个应用程序,我运行:
然后将其与 Eclipse 集成,我运行:
然后创建一个新的控制器,我运行:
然后运行一些自定义 Gradle 任务,我运行:
我想我对我运行的任务grails
与运行的任务感到困惑gradlew
。似乎没有关于此事的文件 - 有什么想法吗?
authentication - Grails 3拦截器进行身份验证?
我正在试验 Grails 3 Interceptors。给定以下拦截器:
matchAll().includes(...)
实际上并不存在于Matcher
对象上。那么我该怎么说“只拦截对”的请求AccountController
呢?- 如果您遵循身份验证逻辑,如果用户当前
anonymous
(未登录),我想将他们重定向到AuthController#signin
操作,这将为他们提供登录屏幕。拦截器似乎无法使用redirect(...)
闭包……那么如何安全地执行此重定向?此外,我如何“保存”我们当前拦截的 URL,以便在成功登录后,用户可以再次被重定向到最初请求的 URL?
我在上面安全地CannotRedirectException
说,因为如果太多重定向不断被抛出,我会遇到 Grails 被抛出的问题,并且这些错误通常通过在按照之前的答案执行重定向后返回来缓解。
grails - Grails 3 拦截器和控制器示例
我正在试验 Grails 3 及其拦截器的新概念。给定以下拦截器/控制器:
AuthService
是一个Grails 服务。我希望AuthService
每个实例都有一个AuthController
. 而且我希望AuthController
有一个prototype
范围,这样我就永远不会存储状态,并且为每个请求创建一个控制器。为了满足这些范围要求,我必须在两个 (AuthService
/ ) 中进行哪些更改?AuthController
- 假设
AuthController#signin
由于redirect(controller:auth, action: signin)
拦截器内部而执行,我如何从上面的控制器操作内部将用户重定向(再次)到他们的预期目的地(即,在拦截器拦截请求之前他们想去的 URL)?
grails - Grails 控制器和 URL 映射魔术
Grails 3.0.1在这里。我正在寻找完成特定的 URL/控制器结构。我的应用程序部署在根上下文 ( /
),这意味着它在本地运行为http://localhost:8080
,而非本地运行为http://someserver.example.org
。
我希望所有内容都/app/*
经过身份验证并被视为“核心应用程序”的一部分(需要登录)。该 URL 之外的任何内容都被视为公共网站的一部分(未经身份验证)。但是,我希望/app/
自己只是一个占位符;我不希望它成为 Grails 控制器。因此:
http://localhost:8080/app
可以配置 (UrlMappings
?) 以显示登录页面http://localhost:8080/app/<controller>/<action>
遵循典型的 Grails 控制器/动作套装,并会调用正确的控制器动作
因此http://localhost:8080/app/order/create
将通过身份验证,如果登录,则调用该OrderController#create
操作,该操作可能会呈现一个createOrder.gsp
.
我想知道 Grails 3.x 方法是什么:
- 允许
/app/
存在,但不是作为控制器(就像我说的,也许只是重定向/映射到登录页面) - 允许下面的任何东西
/app/
遵循控制器/动作范例
关于如何实施的想法?
更新
grails-3.0 - Grails 3 - 未找到线程绑定请求
从 Grails 2.3.11 升级到 3.0.1 并在执行 grails run-app 时遇到异常:
我已经看到推荐 org.springframework.security:spring-security-core 或将 grails webxml 插件添加到应用程序的依赖项更新的答案。由于这是一个 grails 3.0 项目,我不想将插件迁移到 Grails 3,特别是如果我不知道它是否能解决问题。我相信我以前在我的 Grails 2.3 项目中看到过这种情况。我相信我在依赖项中添加了排除项以摆脱它,但我不确定。以下是我添加到旧项目中的排除项:
我在我的新项目中尝试了一些相同的排除项,但它所做的只是引发其他编译问题,缺少我排除的库中的类(来自 build.gradle):
谁能确定此错误可能来自哪个依赖项以及如何在 Grails 3.0.1 项目结构中解决它?
security - 使用 Grails 2.4.4 而不是最新版本会不会更不安全
使用 Grails 2.4.4 而不是最新版本会不会更不安全?(2.4.4 是我目前可以用 Brew 下载的最新版本)。用于 Eclipse 的 GGTS(当前)不支持 Grails 3,所以我想知道是否需要购买 Intellij 来开发安全应用程序。
我不明白为什么它会不那么安全,但我想我应该要求确认一下。
grails - Grails 3 - Gradle:在 Heroku 上构建期间二进制文件损坏
我正在尝试使用 Heroku 实例中的 Google Rest API。我的证书文件有问题,但在本地一切正常。
该证书是 PKCS 12 证书,我得到的例外是:
java.io.IOException:DerInputStream.getLength():lengthTag=111,太大。
我终于找到了这个问题的根源。在修改证书文件的过程中,本地是 1732 字节,但在 Heroku 实例上是 3024 字节。但我不知道什么时候会发生这种情况。我在本地使用相同的命令(./gradlew 阶段)构建并使用相同的命令执行生成的 jar。
该文件存储在 grails-app/conf 中,我不知道有什么更好的放置位置。我正在阅读它this.getClass().getClassLoader().getResourceAsStream(...)
我发现在使用 Maven 进行资源过滤时可能会出现类似的问题。但我没有发现任何 Grails 或 Gradle 进行相同类型资源过滤的迹象。
有没有人知道这可能是什么?
hibernate - 如何使用 Grails 3.0.1 和 Hibernate 创建具有默认模式的表?
我找到了有关如何使用 DataSource.groovy 执行此操作的参考资料,但是我还没有设法让它与 Grails 3 application.yml 一起使用。这不起作用:
这些表是使用“公共”架构创建的。