我正在编写我的第一个taglib作为插件的一部分,我想记录它。添加javadoc(是否有任何地方可以记录groovydoc或者它真的是一样的东西?)似乎对非方法不起作用
具体而言,如何在以下文件中记录def mytag:
/**
* This doc shows up
*/
class MyTagLib {
static namespace = "myns"
/**
* This doc does not show up, but I'd like to document a
每次重新启动应用程序时,Grails域类的动态方法都会出现MissingMethodException
我有三门课:
groovy:该类包含一个Java ScheduledThreadPoolExecutor和一个init方法,该方法创建Worker并将这些Worker提交给执行器
groovy:实现可运行和调用域动态方法。例如:MyDomain.get()
groovy:在init方法中,我调用manager.init()
有时工作人员在域上调用dynamics方法,我得到MissingMet
我从一个朋友那里得到了这个插件的源代码,但仍然不知道如何将它安装到我的项目中。是的,有install-plugin命令,但不允许将该插件上载到根grails-plugin目录
如何从源代码安装grails插件
更新:该插件是为Grails1.1开发的,但我当前的项目是Grails1.3。它会导致任何问题吗?您可以将插件打包到zip中,然后从中安装
在包含插件源代码的根目录中打开命令提示符,运行grails-package-plugin,将grails\u-HOME设置为1.1 grails安装,
我有这个:
class Contribution {
String name
...
static namedQueries{
findAllByName{
'in' "name", ['bla','bla','fafa','fofo']
}
}
}
我使用listDistinct方法,这是正确的。
但对于分页,我需要总计数
怎么做
谢谢。可以向命名查询添加distinct吗?像
static namedQueries{
fi
使用Grails1.3.7
视窗7
我已经在一个全新的grails项目上尝试过这一点……尽管我在系统上安装了其他grails版本(但不再在PATH中)
在执行grails安装插件spring security core时,安装从未完成,这给我留下了以下从未完成的问题:
发展环境
解析插件spring安全内核。请稍候。。。
。。。。
下载:
framework/security/org.springframework.security.core/3.0.4.RELEASE/org.spring
我无法在基于maven的grails项目中安装JAWR插件,我尝试了以下命令
mvn grails:install-plugin -DpluginName=Jawr
grails install-plugin Jawr
grails安装插件Jawr命令的结果如下
groovy.lang.MissingMethodException: No signature of method: org.codehaus.groovy.grails.resolve.EnhancedDefaul
我非常想让CSS和JS在不同的点上通过GSP过滤器运行,但是现在在Grails中没有简单的方法可以做到这一点。其他预处理器也会很酷。例如,如果我可以这样做:
在通过GSP编译器运行后,让我的scss文件自动生成,这将是理想的选择
Grails2.0中对此有什么计划吗?这个问题应该在邮件列表上,我不明白你的问题。什么是scss文件?:)
标签: Grails
grails-domain-class
在保存通过JSON发送的客户机中获取的对象时,我有一个非常基本的问题
我有一个customer对象,在编辑customer对象并将其发送回Grails之后,它被传输到客户端,需要保存在数据库中。为了提高性能,我不会通过网络发送完整的客户对象
现在的问题是,如果我想存储客户对象,Grails当然会验证客户对象的关系,但失败了。这没关系,因为我还没有发送关系
我现在的问题是我现在如何解决这个问题?我是否需要使用客户id再次查询数据库并更新编辑的属性,还是有更优雅的方法?从数据库的角度来看,这看起来有
我使用grails-1.3.2和插件
有时我需要更改表结构(添加新表或列)。
我已经创建了Car表:
class Car{
static belongsTo = [user:User]
String color
String model
//.....
static constraints = {
}
}
但当我想创建汽车对象时:
def create = {
Car car = new Car()
car.p
您能否告诉我以下(某些小部件)的有效值列表,例如:
文件似乎不见了。相关的,你知道有什么插件可以直接使用这个约束吗?你可以看看
这是一个旧的列表,但它仍然有效,我认为从我所知道的,小部件属性仅用于脚手架,并且在中引用。在该文件中,widget属性似乎有一些非常狭窄的用途,这取决于您正在构建的对象的类型
不过,好消息是,您可以提供自己的renderditor.template文件,并对其进行编辑,使其按您的意愿工作。只需在${basedir}/src/templates/scaffolding/r
在Grails1.3.7中,控制台插件有自动完成功能吗?
这对于学习该语言的人来说尤其有趣,因为它允许探索在运行时注入的方法。虽然控制台没有自动完成功能,在控制台中,您可以使用Script菜单中的Inspect*方法来探索本机方法和注入方法
我个人最喜欢的是Inspect Last。您可以这样使用它:
创建一个带有尾随对象的简单程序:
def foo = ""
运行此程序(CTRL+R或CMD+R)
选择Script>Inspect Last
看起来是这样的:
GroovyConsole没
我想知道groovy/grails中在哪里可以定义和使用方法
特别是在bootstrap init中,我想做如下操作:
def init = {
def util() {
return 'so helpful!'
}
def someObj = new someObj(phrase: util()).save()
}
这是可能的,还是需要在init之外定义util?我认为不允许在函数中定义命名函数。您可以改为使用闭包
def init = {
def util =
我是Grails新手,我正在尝试构建一个简单的帮助台应用程序。我希望能够注册新用户、登录、发布请求/事件、将其保存到数据库,并且从管理员的角度来看,我希望能够查看表中的所有请求/事件,并更改用户的权限。
对于安全部分(和安全管理),我考虑使用SpringSecurity和SpringSecurityUI插件。
现在,我已经创建了应用程序,安装了SpringSecurity及其UI扩展,添加了realname、电子邮件和公司属性。当我运行应用程序时,我会成功注册,当我通过电子邮件确认注册时,我会自
在对我的应用程序的请求中,我经常会得到对象的ID,这些ID应该是关联的。但是,我必须进行检查,看看它们是否正确
示例场景:
A类和B类相关:
A {
static hasMany = [bs: B]
}
在我的请求中,我将获得援助和出价。
我通常做的是:
def a = A.get(aid)
def b = a.bs.find {it.id == bid}
做这项检查的更好方法是什么?从性能的角度来看
谢谢我的第一个倾向是使用HQL并使用count()查看它是否存在。可能有更优雅的方
标签: Grails
viewsrendergspurl-mapping
1) 此URL工作正常,从/views/product/list目录呈现GSP
myapp.com/search/list?searchPhrase=underware
2) 此URL无法完成渲染/视图/搜索/列表的工作
myapp.com/search?searchPhrase=underware
有什么想法吗?可能是您想在搜索URL映射中将“视图”替换为“操作”。我很困惑。URL 1正在正确地通过搜索控制器的列表操作。但是URL 2有什么问题?它在干什么?你希望它能做什么?我刚写完这篇文章就
我想知道是否有一个工具可以创建我的grails项目的可演示版本。我可以在CD或U盘上分发的东西,可以在任何环境下运行
什么
附带一个启动应用程序的shell脚本
在系统上搜索空闲服务器端口(如果8080已在使用,则无错误消息)
启动jetty服务器
用我的应用程序启动标准浏览器
有人知道这样的工具吗?想到的最好的事情是在安装了grails的U盘上使用Linux发行版。您可以将应用程序导出为WAR文件,然后创建一个包含grails prod run WAR的脚本,以便在引导时执行。最后,您可以
我正在使用1.3.7版学习Grails,我一直在无明显原因地遇到以下语法错误:
unexpected token: mapping @ line x, column y.
有一次,我通过运行“groovy clean”和“grails clean”摆脱了它,但这一次它甚至不起作用。据我所知,我的代码与我正在使用的书中的示例完全相同,但它一直在抱怨“映射”这个词
下面是我的一个课程失败的例子:
package com.grailsinaction
class Post {
Strin
今天我正在将一个使用Grails1.3的web应用程序转换为2.0,这时我注意到编译和运行的响应时间越来越长。一个小时后,在删除本地ivy缓存和一些与IDE相关的文件后,得出结论,问题在于包括Grails的存储库。每次我编写一个简单的命令,比如grailscompile或者甚至grailshelp,框架都会尝试连接到EC2。我们有一个Nexus存储库,用于存储项目和依赖项。我们可以配置一些东西来避免这种行为,并改用本地Nexus?提前感谢。格伦·史密斯为此写了一篇很棒的文章:
标签: Grails
grails-2.0grails-controller
新的圣杯世界。我在将逗号分隔的表单值从表单传递到grails mail插件的“TO”属性时遇到问题。无论我尝试什么,我似乎都可以将它放入一个数组或接受多个电子邮件地址
我得到以下错误;我已经删除了域名,所以请忽略它们
Could not parse mail; nested exception is javax.mail.internet.AddressException:
Illegal address in string ``"ian@email.com","ian@otheremail.c
我试图将一个遗留域类映射到我的grails类,但在生成表时,与遗留类关联的字段是Tinyblob,而不是一个与ID链接的BigInt和foreing键
class NewClass implements Serializable {
GrailsEntityA grailsEntityA
GrailsEntityB grailsEntityB
LegacyEntity legacyEntity
}
该表具有用于GrailEntityA和GrailEntityA的foreing
我的布局或视图有问题,我的布局标题中有一个徽标,但每次我进入某个视图时,徽标都不显示,看起来像一个破损的图像。
我不知道为什么会发生这种情况,但这真的很烦人。试着像这样使用标签:
<img src="${resource(dir:'PATH_TO_FILE', file:'FILE_NAME')}">
如果您查看页面的html源代码,图像url看起来是否正确?是的,它是正确的,它与视图的url相同,如果您尝试直接访问图像,它会显示出来吗?如果你把它放在视图中而不是布局中,它会工作
例如,我认为如果设置了设置,g:form将为您转义HTML输入。
g:textField添加一个与name值相同的id属性
g:submitbutton怎么样?我只能想到一个区别:TagLibs。假设您希望为所有表单创建默认提交按钮:
class FormTagLib {
static namespace = "form"
def submit = { attrs ->
if(!attrs.id) {
attrs.id = "myDefaultSubmitId"
我有一个表示ID的整数列表
我想使用getAll检索所有实例并将其返回给GSP,我还想使用分页(offset,max)
我该怎么做
MyClass.getAll([1, 2, 3,...])
感谢您的帮助您可以使用findAllBy*或使用带有executeQuery的HQL向下钻取。我认为前一种方法会更简单,因为只涉及id
MyClass.findAllByIdInList([1, 2, 3, ....]*.toLong(), [max: 5, offset: 1])
您可以使用findA
以下是我的域类定义:
class Profile {
PhotoAlbum photoAlbum
static constraints = {
photoAlbum(nullable:true)
}
}
class PhotoAlbum {
static hasMany = [photos:Photo]
static belongsTo = [profile:Pr
我有几个用户界面包含的域类
“重复”命令。作为执行这些命令的一部分,
我在相应的域类中实现了clone()方法
我一直在努力纠正我的坏习惯,不恰当地执行
克隆()(通常)基于“new”而不是“”super.clone(),”
因此,当我考虑对我的Grails域执行同样的操作时
类,我想知道如何使用super.clone()获得克隆
与GORM/Hibernate持久化交互。特别是我
想知道处理隐式“id”属性的正确方法。如果
我只需super.clone(),不做任何进一步的操作,然后尝试sav
我使用以下查询在grails中过滤结果
userList = SecUser.all.findAll{it.merchants.findAll {it.name.toLowerCase()=~ searchString.toLowerCase()}.size()>0}
在这段代码中,我有用户,每个用户都有多个商家。我只提取商户名称与特定模式匹配的用户
现在,我还需要对这些用户进行筛选:
params.max
params.offset
这样我就可以对它们进行分页了。请帮我解决这个问题
在grails框架中,如何将一个类方法调用到另一个类方法?例如
class ChartClassController {
def index() {}
def create(){
def chartClassTypeList = ChartClassType.list()
}
}
class ChartGroupController {
def index() {}
def create(){
def chartG
我希望尽可能简单地使用grails服务器中的OpenDolphin。所以,我正在寻找一种方法来自动处理域类(服务器端)上的CRUD操作。在OpenDolphin项目的演示中,我还没有发现如何实现这一点的任何想法(如果我错过了什么,请告诉我应该在哪里学习)。实例是根据请求从服务器中提取的,在再次提取/更新实例之前,无法识别服务器上发生的更改(我一直在研究OpenDolphin项目中的crudDemo)
由于CRUD操作不仅可以通过web或远程客户端来自用户,还可以作为其他操作、级联删除、服务等的结
我在2.4.0版上启动了一个新的grails项目。
在这个版本中,子文件夹资产被添加到grails应用程序文件夹中,以便轻松访问js、css、图像等
但是,我无法访问子文件夹,例如,我得到的文件夹结构如下:
grails应用程序/assets/stylesheets/font/font.css
那么当我使用
(注意font.css被放在样式表文件夹中)
但是当我尝试这个时,找不到font.css
<asset:stylesheet src="/fonts/font.css"/>
我不熟悉grails。有人能告诉我执行命令(如grails clean和grails compile)是否需要internet连接吗?否。是的。原因如下:
grailsclean根本不需要任何连接。只是清理项目中本地directoy上的文件
如果您没有成功刷新依赖项,那么在某种程度上可能需要使用grails compile
事实上,grails 2.3.x之后的旧版本需要internet连接才能下载您在buildconfig.groovy文件中使用的引用。这导致
大多数情况下,只有IDE/STS
我们有一个在Grails1.3.7中开发的产品,它支持Kerberos和ADS/LDAP身份验证。应用程序部署在不同的环境中。有些部署作为SaaS运行。SaaS部署不需要kerberos身份验证。应用程序中放置了一个伪keytab文件,config.groovy中默认配置了相同的凭据以启动应用程序而不会失败(如果缺少这些凭据,应用程序将不会启动)。这在集成kerberos时对我帮助很大
在所有情况下,身份验证都可以正常工作。一些从其内部网域访问SaaS应用程序的客户抱怨kerberos集成后的响
关于:
显然,DI在创造就业机会之前不会发生。我猜这与其他grails文物无法发现相关文档的情况相同
在我的特殊情况下,我的目标是从config加载一个属性,并从job类中公开该属性。一般来说,人工制品将加载配置,然后通过API返回这些属性,这对我来说似乎是一个有效的用例
我想知道,当一个类在构造时不能依赖对grailsApplication.config的访问时,如何实现这一点
谢谢试试:
import org.codehaus.groovy.grails.commons.Configurat
在grails 2.xxx中使用respond()比render()有什么好处
我在尝试生成域的控制器和视图时找到了respond()
就像create()中一样
它的代码如下:
respond new DomainObject(params);
我还发现request.withFormat()对我来说有点难
droppingInstance.save flush:true;
request.withFormat {
form multipartForm {
我想对域关联进行反射,为RESTful WS-scaffolding自动生成JSON/XML格式的类描述符文件
示例域包括:
class Roof {
Chimney chimney = new Chimney()
static embedded = ['chimney']
}
class Chimney {
float height
}
我使用此代码了解GORM类类型:
GrailsDomainClassPersistentEntity entity = Roof
我继承了一个使用错误控制器的grails项目
在URLMappings中有以下条目:
"500"(controller: 'error', action:'error')
特定errorController呈现特定视图:
render view:'/error/prodError'
我不明白的是,如何绕过错误控制器处理500个错误,并发送到视图/play/play,但在其他情况下不删除旧错误
即使我从playService捕获异常,我仍然得到/error/proderor,而不是/play
我正在使用Grails2.4.4,并试图获取在控制器中加载Grails应用程序的浏览器url(referer url)。我已经搜索过SO和google,在文档中查找过,但似乎我在搜索一个神秘的生物
// inside my before interception
String referer = request.getHeader("Referer");
println "referer= "+referer // null
有人这样做了吗?request.getHeader('refere
标签: Grails
database-migrationchangelog
我在这里描述这个问题。我首先从git签出一个grails应用程序。它是一个发展分支。然后,我删除本地数据库并创建一个新的空数据库/模式,命名为test2
现在,我构建了一次应用程序,以便创建必要的表。现在,我向已经存在的域添加了一个新属性“字符串测试”。我们在其中添加属性的域的名称是AnswerSurvey.groovy
我现在右键单击该项目,然后在grails工具>打开grails命令提示符中。这里我输入dbm gorm diff
然后,如预期的那样,在控制台中显示新的changelog行
&
从Grails控制器,我想重定向到以下位置(使用查询字符串):
/mycontroller/myaction?id=3
我写了这段代码:
def a = 3;
redirect (controller:"mycontroller",action:"myaction",params:[id:a])
此代码将生成:
/mycontroller/myaction/3
我知道id是一个特殊的参数。它将是url而不是查询字符串。我尝试另一个参数
def name = "John";
redirect (
标签: Grails
gormgrails-domain-class
我可以将其转换为GRAILS/GORM吗。如果有,请帮忙
select b.id, b.username, b.first_name, b.last_name
from tb_user_orgpermissions a
inner join tb_user b on a.username = b.username
where
(a.department_id = :dept_id)
and (a.agency_id = :agy_id)
要将等效查询创建为gorm条件查询,首先需要为每个表创建
我正在使用Grails2.5.2并在使用一个标记库。当我执行grailsrun-app时,一切都正常运行,但每当我在标记库中进行更改并保存文件时,就会出现以下错误
Error |
2016-02-26 16:29:30,628 [Thread-9] ERROR plugins.AbstractGrailsPluginManager - Plugin [groovyPages:2.5.2] could not reload changes to file [D:\...\BootstrapTag
我想使用GORM域对象在MemSQL数据库中创建一个引用表。这将允许我们的Grails服务器在MemSQL中创建/删除用于开发的引用表
除了在表上指定主键外,是否可以使用GORM向域对象添加引用表
例如:
create reference table calendar (
dt DATE NOT NULL PRIMARY KEY,
y SMALLINT NULL,
q tinyint NULL,
m tinyint NULL,
d tinyint NUL
现在我正在编写应用程序,后端使用grails3,前端使用AngularJS。问题是JavaScript真的很烂,我想切换到ClojureScript
遗憾的是,我找不到ClojureScript的任何插件(资产管道)。是否有任何准备好的方法将其集成到我的Grails 3应用程序中?这一种很有效
只需将此依赖项添加到build.gradle:
dependencies {
runtime 'org.grails.plugins:clojure:2.0.0.RC2'
}
这个有效
只需将此
“我的域对象预订”有多个允许为空的属性,因为这些属性将在对象保存到数据库之后设置
myService.action()的一部分:
我正在使用
hasErrors(bean:booking,字段:'contactFirstname','has error'))
标记错误字段
如果我现在提交的表单中文本字段中没有任何值,则所有字段都是红色,booking.errors的错误大于0
如果我在提交表单后使用名字,booking.errors为NULL,并且没有标记其他字段
这是虫子吗?我支持Grails
标签: Grails
gormgorm-mongodbgrails-spring-security
我将Grails3.3.2与mongoDB插件(v6.1.4)和SpringSecurity核心插件(v3.2.0)一起使用
我有以下UserPasswordEncoderListener和以下persistenceEvent方法:
@Override
protected void onPersistenceEvent(AbstractPersistenceEvent event) {
if (event.entityObject instanceof User) {
实际上,我想使用toString()方法返回Organization类对象的字符串表示形式。请有人帮助我如何执行此操作。如何在toString()函数中返回对象
package com.ashwin
class Organization {
String orgName
String orgEsta
String orgLogo
String orgDesc
String orgLoc
static constraints = {
我有一个域类,如:
class X {
String name
Y y
def beforeUpdate() {
y.name = "new name"
y.save() //DOESN'T work, adding flush: true throws exception
}
}
刷新期间会发生beforeUpdate事件,因此无法触发另一次刷新。(如果这样做,将导致堆栈溢出。)
如果更新之前的返回false,它将取消保存
我试图在运行Windows10的计算机上设置Grails,但我无法这样做。我已经从网站(3.3.8)下载了最新版本,在我的帐户中添加了一个GRAILS_HOME变量,指向解压后的GRAILS目录,并将其bin子目录的路径添加到系统路径中,虽然GRAILS-v可以正常工作并输出GRAILS、Gradle和Java的版本,但基本上没有其他命令这样做
当我尝试使用grails create app someApp创建一些示例应用程序时,我在初始化classpath:services.gradle.or
我以前使用过“grails创建应用程序myapp”,并且生成的应用程序内置了web—例如,我可以构建或修改我的视图
我看到有各种各样的配置文件,包括“web”。Web具有各种特性。不清楚的是,添加或不添加功能的后果是什么,以及为什么“web”与没有配置文件不同
Web配置文件功能包括:
提供的功能:
资产管道-将资产管道添加到Grails项目中
事件-添加对Grails EventBus抽象的支持
geb-添加GEB1.1.1和WebDriver 2.47.1以运行功能测试
geb2-添加ge
我一直在关注文档,特别是第15.2节。我从本文档中了解到,集成测试在提供以下导入和注释的每个测试之后自动回滚
import grails.testing.mixin.integration.Integration
import grails.gorm.transactions.*
import spock.lang.*
@Integration
@Rollback
并且还提供了从测试方法中调用setupData()方法,因为只有测试中的操作才会回滚。
我的测试课是这样的
package co
我需要将数据源的配置移到runtime.groovy,因为配置代码需要访问我的一些类
在以前的grails版本中,这不是一个问题。但是,我发现如果我将environments块和默认的datasource块移动到runtime.groovy,Hibernate将不会创建数据库,我的功能测试显然会失败
这是我从application.yml中删除的配置:
hibernate:
cache:
queries: false
use_second_level_ca
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 383 页