我尝试在生产模式下运行grails应用程序,我在grails主页上看到了教程,但是我没有可选的“配置类型”
我有一个Grails脚本参数字段,尝试使用“production word”,但它没有任何改变;始终处于开发模式。
用intelliJ idea强制“生产模式”的想法
谢谢
注意:使用IDEA 8.1.3。如果您通过运行配置执行此操作,则可以在VM参数部分添加-Dgrails.env=prod。如果您使用的是rungrails脚本命令,那么我认为无论如何都没有必要这么做
您应该试用最新的E
我总是编写所有数据库更改的脚本。但我想知道我是否真的需要在Grails应用程序中这样做,因为GORM将自动进行更改
那么,在Grails应用程序中管理数据库更改的最佳实践是什么呢?GORM不会自动处理所有模式更改;例如,如果从域对象中删除字段,GORM将不会删除相应的数据库列
有两个Grails插件用于管理数据库迁移—请参阅和。我要说的是,无论哪一个更符合你的需求,都是最佳实践;下面是一个很好的例子,解释了两个插件的一些问题。这是我在几个大型Grails项目(以及一些较小的项目)上使用的模式:
我正试图找出为Grails应用程序生成XML站点地图(如下所述)的最佳方法。我不知道任何现有的插件,这样做,所以我可能会建立一个。然而,我想先得到社区的意见。除了支持标准的控制器/操作之外,我认为支持内容驱动的应用程序也会很好,比如URL可能是基于标题属性生成的
你们会怎么做?你会考虑什么?你将如何实现它?
谢谢 站点地图对于每个应用程序都非常特定,所以我不确定是否有足够的通用代码可以用于插件
下面是我们如何为生成站点地图的。正如您所看到的,由于Groovy/Grails良好的XML语法,它非常
任何人都可以解释为什么在调用[]。getClass()返回预期结果映射时,调用映射上的[]。class返回null。见下面的例子
一,-
二,-
肯:这是答案
编辑--当然。我认为地图的语义是这样的,如果你有
def m = [one:1, two:2]
您应该能够像这样访问地图中的条目
m.one
换句话说,访问地图就像获取地图对象的属性。如果
m.class
返回类时,它将破坏这些语义,因为“class”不是程序员添加到映射中的键
这就是我收集到的….太好了,他的回答很含糊,你能用
我正在寻找托管Grails webapp的选项。作为一个新的网站,我不希望一开始就有太多的流量,但我希望有一个选择,即能够在不突破障碍的情况下进行扩展,而不打破银行
我一直在思考Cloudfoundry和Amazon ElasticBeanstalk。有人能指出这些服务的优点和缺点吗?还有人能给我指出可能存在的其他服务。我知道他们正准备公开发布他们的云服务。我在他们的测试期间使用了这项服务,实际上非常好
我用ubuntu服务器加载了一个虚拟机,然后我加载了mySQL、Apache2和Tomcat
我想根据用户的表现更改区域设置。
我使用了onInteractiveAuthenticationSuccessEvent:
onInteractiveAuthenticationSuccessEvent = {e, appCtx ->
def autservice = appCtx.authenticateService
def user = autservice.userDomain()
if (user) {
我在resource.groovy中定义了一个bean
beans = {
jmsConnectionFactory(org.apache.activemq.pool.PooledConnectionFactory) {bean ->
connectionFactory = {org.apache.activemq.ActiveMQConnectionFactory cf ->
brokerURL = brokerDestination
我是Grails和groovy的新手。
我创建了一个域类
\grails-app\domain\Abc
现在我在中创建了一个控制器
\grails-app\controllers\myapp\myController
在这种情况下,当我创建一个对象时,它会显示错误
def Abc obj = new Abc
我犯的错误是
unable to resolve class Abc
我试图导入,但也没有显示。我在grails 1.3.7和IntelliJ IDEA 10.0.2中工作
谢谢我
Grails的MongoDB插件(MongoDB 1.0-M5)还不支持AssociationQuery类型的查询。这意味着我不能这样做:
// Find all instances of MyDomainClass whose myHasOneObject.id is in listOfIds
// Throws exception b/c Mongo doesn't support AssociationQuery
MyDomainClass.withCriteria {
myHas
这是我的登录安全过滤器。下面是拦截器,用于限制用户的搜索行为。但两者都不起作用。有人能说出错误是什么吗
def filters = {
loginCheck(controller:'*', action:'*') {
before = {
if(!session.user && !session.merchants)
{
redirect(action:'login')
我正在使用一个RESTJSON Web服务,我想保护它。该服务使用非常基本的Spring安全性进行保护,会话存储在服务器上。因此,在用户可以访问url“/api/resource”之前,他/她需要先登录
我想知道如何:
仅允许注册用户访问我的rest api
仅允许注册用户的注册客户端访问我的rest api(例如GWT、Android、iOS)。如果客户端未注册,我不想让用户访问我的api
通过大量的谷歌搜索,我看到了OAuth的概念,它具有三方身份验证方法
我在我的项目中使用grails
我想知道如何在我的视图中使这段代码有条件-如果有注释就输出它,但是如果没有注释,就不要输出空的
<p class="comment">
${progressItem.comment}
</p>
${progressItem.comment}
${progressItem.comment}
评论根本不显示。对不起,我没有包括在内
<g:if test="${(progressItem?.comment?.size() > 0)}">
&
标签: Grails
url-mappinghttp-response-codes
我对此有点疯狂。
首先,我的映射如下所示
"500"(view:'/error/exception')
但是,然后我们发现,如果在Spring安全代码中抛出异常,则错误页面不正确。通过查看源代码,我将映射从视图更改为操作
"500"(controller: "error", action: "exception")
并且,在操作中,我将向另一个操作发送重定向请求,该操作将呈现视图。似乎一切都正常
然而,今天我发现,如果导致异常的请求是GET,它就工作了,如果是POST,那么什么都没有呈现,它
好的,我对Grails和Hibernate都是新手。我正在对一些简单的东西进行原型绑定,并且一直在通过连接查询最简单的多对多关系
我的模型对象是:
class User {
static hasMany = [roles:Role]
String firstName
String lastName
String username
String password
// ... constraints and hooks omitted ...
我正在我的应用程序中使用springSecurityCore插件,在用户登录appStartupController之后,我非常喜欢它
def index = {
if (springSecurityService.isLoggedIn()) {
session.loginId=springSecurityService.principal.id
def userRole=UserRole.findAllByUserAndRole(User.get(session.
我在引用配置属性的域类中有一个自定义验证器:
accountExpirationDate (
nullable:true,
validator: { val, obj ->
if (val > new Date() + CH.config.EXPIRATION_WINDOW_DAYS) return ['date_too_late']
})
其中CH是org.codehaus.groovy.grails.commons.Configurati
我遇到了一些乍一看似乎是Gorm(Grails1.3.7)中的bug的东西。我想在讨论jira问题之前,我会把问题贴在这里,以防我弄错了
问题是:
我有一个域类,它引用同一个类的父对象,也可以有一个指向别名的指针,也可以是同一个域类的别名
这是域类:
class Mydomain {
String name
Mydomain alias
Mydomain parent
Mydomain foo
static constraints = {
如果我想更改创建标记库以便通过ajax上传文件,那么我必须在grails中对标记进行哪些更改
我有通过ajax上传文件的代码,我想用它创建标签库,上传文件,并通过ajax提交表单
我该怎么做???你运行这个命令了吗?这将创建必要的文件,而您实际上只是在这些文件中编写代码。基本上你只需要在这些文件中生成HTML。下面是一个标记库的示例
希望这有帮助 看一看。您还可以查看一些现有的插件,如远程分页,以查看是否创建了标记库。希望能帮助STNX回复,但我想准备taglib!我知道如何建立它,但我想知道如
我正在创建一个Grails应用程序,该应用程序对返回XML的web服务具有只读访问权限。除用户名/密码外,此应用程序的全部数据将来自此外部web服务
将域类中的变量映射到此数据源的最佳方法是什么?我发现了许多带有数据库的自定义ORM示例,但没有一个用于XML。我将在哪里编写进行HTTP调用和提取字段的逻辑
非常感谢所有帮助。我们非常成功地将SpringWeb服务与MarkupBuilder/XmlSlurper结合使用。您可以使用WebServiceTemplate为给定Uri创建web服务客户
我们知道在URL中传递lang参数会更改grails应用程序的语言环境
/url?lang=de
在代码中,我可以通过RequestContextUtils.getLocale(request)获取语言环境,它使用lang参数返回ParamsAwareLocaleChangeInterceptor(grails源代码的一部分)中设置的语言环境
如果脚本或损坏的字符串作为值传递给lang参数,那么相同的垃圾将被设置为locale
/url?lang=>"'><script>
我不知道我做错了什么。我希望这是一件微妙的事情。我似乎无法将错误传递到我的gsp页面。我的控制器中有以下代码:
def submit = {
if (params) { // if there are parameters
def sampleInstance = new Sample(params)// new sample
if (sample.validate()) { // try to validate
sample.sa
我希望在一个表单中有许多,并在参数中迭代它们:
def blah = params.bob.collect { Bob.get(it) }
如果表单上存在多个复选框并选中(params.bob是某种类型的列表),则它似乎可以正常工作。但是,如果表单上仅显示一个复选框并选中params,则bob是一个字符串,而不是一个列表,其中有一个字符串
处理这个问题的最好方法是什么?我现在正在做这样的事情:
if (params.bob instanceof String) {
blah = [Bo
我正在使用带有jQuery验证的Grails资源插件。jQuery验证将特定于语言环境的文本声明为JS文件:
/localization
messages_ar.js
messages_bg.js
messages_ca.js
等等等等。在我的ApplicationResources.groovy文件中,声明了以下块:
form {
resource url: '/js/jquery/jquery.validate.js'
resource url: '
我无法使用spring security和dynamodb将用户登录到grails应用程序
Grails是2.1版本,安装的插件是spring安全内核和dynamodb最新版本
用户和角色由s2 quickstart创建,其唯一修改是向用户添加字符串id和静态mapWith=dynamodb,角色和用户角色类字符串id是必需的,因为dynamodb上的id是UUID生成的
引导按照spring安全教程进行
应用程序启动良好,并创建dynamodb表和行
我一直在
身份验证失败:密码与存储值不匹配
标签: Grails
subquerygormdetachedcriteria
我试图使用分离的条件作为“in”子句的子查询,但不知何故它不起作用:
def trades = new DetachedCriteria(Trade).build {
projections { property "tradeNbr" }
}
def activities = Activiies.withCriteria {
'in' "tradeNumber", trades
}
这是我遇到的错误:
2012-11-07 01:07:09,0
我有一个要按月分组的对象集合以及名称和总和:
def things = [
[id:1, name:"fred", total:10, date: "2012-01-01"],
[id:2, name:"fred", total:10, date: "2012-01-03"],
[id:3, name:"jane", total:10, date: "2012-01-04"],
[id:4, name:"fred", total:10, date: "2012-0
正如我所读到的,grails正在使用methodMissing将GORM方法注入域类,但是已经说过methodMissing的执行成本很高,因为只有在调度失败的情况下才会发生,为什么这些方法不通过元类或AST转换注入?有什么线索吗 使用methodMissing并不昂贵,因为Grails仅在第一次执行methode not found时才在MOP中创建新的methode。子序列执行在新创建的methode上进行
考虑一个具有许多属性的域类。如果所有findBy*、findAlLBy*、count
我想知道grails中面包屑的用法和实现
我有一些gsp(查看)页面,主页默认为6个类别,在这6个子页面中,我需要在页面中显示导航路径,如
家庭/杂货店/次级杂货店。。。。
住宅/金融/次级金融
我需要显示页面导航
<div id="heder_content">
<g:if test="${session.user }">
<div id="bread_crumbs"style="position:absolute;top:0p
我正在处理的项目有一个空间超过160GB的stacktrace.log文件。这会毁了我的硬盘空间。我能做些什么来避免这种情况 您应该使用滚动文件追加器,这样日志文件就不会增长那么大。
使用如下配置:
rollingFile name:'stacktrace', file:'stacktrace.log',
maxFileSize:'100MB', maxBackupIndex:5
在这里,每个日志文件的最大容量为100 MB。您可以通过“maxBackupIndex”控制将存在多少以前的文件
我有一个多项目的gradle构建,它有几个Grails应用程序。
其中一个应用程序包含许多人工制品(控制器、服务、groovy代码等)
当我使用gradle grails run app命令运行它时,我得到以下错误:
| Error Server failed to start: PermGen space (Use --stacktrace to see the full trace)
我们试图向buildConfig.groovy添加以下内容
disable.auto.recompile=
我查看了SpringSecurityService.groovy文件(grails.plugins.springsecurity包的一部分),其中有几行代码让我感到困惑
import javax.servlet.http.HttpServletRequest
import org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils
import org.springframework.security.core.Au
我想通过Grails中的openID策略实现登录机制
那我怎么做呢
这里我使用了谷歌邮件付费服务(指付费账户)
我怎样才能获得openId呢?您有几种插件形式的选项。当然,哪个插件取决于您的需求。下面是最流行的OpenID相关Grails插件的部分列表
这是一个在Grails应用程序中使用Spring安全性的示例,其中有一个Google帐户。是的,我正在寻找,请使用Google帐户登录。更新了答案,并链接到一篇博客文章,解释了如何使用上述插件之一实现这一点。
我是grails新手,我创建了一个用户域类和userprofile域类。这些班级只有一段感情。
下面给出了域类
class User {
transient springSecurityService
String username
String password
String email
static hasOne = [profile: UserProfile]
boolean enabled = true
boolean acco
是否有办法将我自己的自动生成字段添加到域id和版本中,如果有,请指导我。为我提供URL表单,在这里我可以阅读并理解Grails和领域特定语言的核心概念 我不确定我是否正确理解了您的问题,但这里是指向的web功能的链接。“链接生成API”可能是您需要的
如果您想管理ID和版本而不是使用(插件或完整文档),或者可能是您想了解更多的方向
编辑:尝试回答有关使用继承的问题。似乎与您的要求非常相似 我不确定我是否正确理解了您的问题,但这里是指向的web功能的链接。“链接生成API”可能是您需要的
如果您想
标签: Grails
jelasticgorm-mongodb
在我的config.groovy文件中,我像这样连接到MongoDB
environments {
production {
// db.configuration.file=System.getProperty("user.home") + "/mydb.cfg"
grails.mongo.host = "Snip Snip" //dataSourcesConfig.get 'host'
grails.mongo.dat
在我看来,以下Groovy脚本应该会因解析异常而失败:
println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-06T05:58:00-0500")
println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-14-06T05:58:00-0500")
println Date.parse("yyyy-MM-dd'T'HH:mm:ss","2014-10-45T05:58:00-0500")
println D
我试图在.gsp文件中设置一个变量,其中一个对象已从控制器传递到视图。
“item”在本例中是一个对象,具有名为“sequence”的属性
所以我要做的是将var'action'设置为item.sequence的值,如果item.sequence为null,则将action值设置为字符串“new”
不幸的是,我得到了item.sequence和“new”的值。
有人知道我怎么做这个速记吗?听起来像是一个为客户服务的工作
value=“${item.sequence:'new'}”
这将返回i
我已经编写了一个Grails插件,用Grails2.1.1编写,它提供了一个服务。现在,我已经用Grails2.4.4创建了一个新的Grails项目,并希望注入服务,但失败了
package testproject
class HomeController {
def myService
def index() {
println myService
}
}
始终打印null。我用一个Grails2.4.4项目和一个Grail2.4.3项目对此进行
我试图找出如何解决grails项目中插件和依赖项之间的版本冲突
这就是我正在做的
我正在使用。此插件的最新版本使用httpcore和httpclient 4.2版本。很多地方都在使用它,所以我不想改变它
plugins {
compile ":aws-sdk:1.7.5"
...
}
现在我正在尝试整合。此API依赖于httpcore和httpclient 4.3.x
dependencies {
compile 'com.sendgrid:se
根据GrailsJavaMelody插件,我添加了
“编译”:grails旋律:1.54.0”
但我得到了一个错误:
加载BuildConfig时出错:错误工件坐标:grails melody:1.54.0,预期格式为:[:[:]:(使用--stacktrace查看完整跟踪)
我还尝试了“编译‘grails melody:grails melody:1.54.0’”,但出现了错误:
解决获取依赖项时出现的错误:找不到工件grails melody:grails melody:jar:1.54.0
我想做一个应用程序,可以上传Excel和阅读他们。并动态创建PDF、Excel和Word。我使用Grails2.4.4。出口v1.6
这是我的密码
class AuthUserController {
def exportService
def grailsApplication
....
def list = {
if(!params.max) params.max = 10
if(params?.format &&am
在我的grails项目中,我扩展了默认的RestfulController。以下是url映射报告:
Controller: User
| GET | /api/users | Action: index |
我正在使用Grails2.5.0
给出一个非常简单的甘特脚本,如下面所示,我将它放在grails app/scripts/TestScript.groovy中
如何使用-non-interactive命令行标志
我尝试通过grails测试脚本和grails测试脚本运行它-非交互式,两个版本都提示我输入用户
根据设置,在这种情况下,设置-非交互式应该足以使其接受默认匿名,但事实并非如此。好吧,在看到我提出的解决方案后:
includeTargets << grailsScript("_
我正在“生产环境”中运行Grails应用程序,版本为2.3.1。它可以正常运行一段时间。但一段时间后,它开始失败,出现异常“InvalidDataAccessApiUsageException”。同样,当我删除目标文件夹并重新运行应用程序时,效果良好
在“开发环境”中工作时没有错误
详细的例外是
[[ErrorType:class org.springframework.dao.InvalidDataAccessApiUsageException],
[ErrorMessage:The giv
我有一个旧的Grails(1.3.1)项目。它包含一些Java,一些Groovy,有一个Ant脚本和Ivy依赖关系管理。我已经设法在Eclipse中打开了它,并解决了一些初始构建错误,现在它看起来很好。Ant脚本有一些目标(清理、编译、部署等),但对于每一个目标,我都会遇到以下问题:
(Ivy首先检索大量依赖项)
C:\[SOMECLASSPATH]\SomeClass.class:java.util.zip.ZipException:打开zip文件时出错
[GrailTask]无法从C:\[S
我正在将一个id从我的视图发送到控制器,然后再次通过该控制器重定向一个新视图,但它也会显示以前创建的任务的id。我如何在URL中隐藏该id以及我只想从操作中重定向的另一件事。我不想渲染。
请帮忙。提前感谢。当您从视图中收到控制器->操作的请求时,id将始终显示。您可以对此进行post调用,然后再进行转发,这样您的url就不会更改,也不会显示id
您还可以将id放入会话flash中。在您以以下方式从方法重定向后,它不会将参数保存在url中:
redirect(controller: 'yourCo
我正在使用cucumber测试我的grails应用程序。我的测试环境使用h2数据库。为了创建测试数据,我使用fixture,我在before部分中加载了fixture
fixtureLoader.load(“夹具”)
在后面的部分中,我用
def configuration = grailsApplication.mainContext.getBean("&sessionFactory").configuration
def connection = grailsApplication.
我是圣杯新手。我试了好几次上传一个文件。但失败了。我正在使用Grails2.3.11。在我的config.groovy文件中,我已经包含了
grails.web.disable.multipart=true
我没有在BuildConfig中为文件上传添加任何依赖项。我急需解决这个问题。我在下面给出代码
普惠制代码:
<g:uploadForm action="upload" enctype="multipart/form-data" useToken="true">
我有一个应用程序,我想创建两个不同的工作流程,用于使用SpringSecurityCore将用户登录到应用程序中。一个用于客户,另一个用于管理员。总而言之,将有两个不同的登录屏幕。我怎样才能做到这一点?(身份验证/客户登录,包括登录失败时重定向到哪里;身份验证/管理员登录,包括登录失败时重定向到哪里)
提前感谢您的指导。如果您使用的是spring security core插件,您不必为不同的访问类型(管理员和客户)创建不同的登录屏幕。您可以/应该始终使用基于角色的权限来分离使用。例如:ROLE
我尝试按照Grails文档创建一个命令:
但是当我执行grailsrun命令时,我的示例中出现了以下错误:
:compileJava NO-SOURCE
:compileGroovy UP-TO-DATE
:buildProperties UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:findMainClass
:runCommand
Application class not found
:runCommand FA
1 2 3 4 5 6 ...
下一页 最后一页 共 212 页