Grails在视图中有许多关系

我正在为这样的人保存联系人电子邮件、手机、ICQ、AIM等: class Person { static hasMany = { contacts: Contact } } class Contact { String code ContactType type } class ContactType { String name } 在我看来,我已经编写了一些用于显示每个联系人的模板,其中包含联系人类型的选择框和代码的文本字段,并添加了一些用于添加和删除的JavaS

Grails 可搜索插件忽略对象id

我使用的是0.5.5.1 grails可搜索插件。搜索适用于我的大多数对象和字段。然而,我有一个字符串id的类,它由一个数字破折号组成,如1-1,1-2。。等等我无法按id搜索此对象。我猜这是由于其中的破折号,它可能会被可搜索分析器忽略?不确定。。有什么想法和建议吗?我首先建议你下载Luke,看看索引中到底有什么内容 默认索引位置为 "${user.home}/.grails/projects/${app.name}/searchable-index/${grails.env}" 在基于用于创

grails中save和update方法的习惯用法

grails中是否有任何习惯用法可以帮助我们保存域对象 比如说 我可能想做一些类似的事情 if(candidate.hasErrors | | |!candidate.save) { 每一个{ 记录下来 } 但是,我不想将逻辑扩展到我在domainObject.save中使用的所有地方 我也不希望像say repo这样的单独类,我将这个domainObject传递给它,并将其放入这个逻辑中 谢谢 Sudarshan这里有一个我用来验证和保存的服务方法,但在失败时记录已解决的验证消息。使用它而

grailsg:链接帮助

嘿。想象一下我有一个类似这样的 class Car{ String name String color String mark } class Motion { String name Car carName } <td><g:link action="show" id="${countryInstance.id}">${fieldValue(bean: countryInstance, field: "id")}</g:link></td&

Grails groovy ArrayList转换(注意:似乎是运行时错误行标识的错误,而不是ArrayList转换)

读者注意:多亏蒂姆在下面的帮助,我才得以解决这个问题。问题的根源不是ArrayList转换,而是运行时引擎将错误指向了错误的行,即我在下面显示的访问列表的行。真正的错误是在下面4行,在这里我错误地将一个元素分配到我刚刚检索到的元素中 我有一个小的结果类(在我的grails控制器类的底部),然后在我的代码中,我有 ArrayList<Result> bestResults = new ArrayList<Result>() 与 或者只是 Result res = best

Grails g:选择onchange和rest url

我想选择带有标记的语言,并在选择更改时将选择参数发送给操作。(参数应在打开视图的url中可见) 我尝试了和的不同变体: 版本创建正确的参数,但不创建rest url: <g:form name="selectLanguage" <b>action='show' id="${mitarbeiterprofilInstance.id}" lang=lang> <g:select onchange="submit();" value="${profilInstan

Grails LDAP搜索未处理的继续引用

我正在使用Grails 2、Groovy 1.8.5、Grails Ldap插件在Active Directory上通过Ldap执行查找,并获得javax.naming.PartialResultException:未处理的继续引用;剩余名称“/”。对于授权,我使用SpringLDAP,它工作正常,没有问题。 我环顾四周,大多数线程都在谈论自动跟踪我使用此标志表示derefrinkflag=true的引用 我甚至尝试将此参数传递给JVM-Djava.naming.referral=follow

Grails RabbitMQ ImmediateAcknowledgeAmqpException

我正在尝试使用RabbitMQ插件,无论我做什么,我都会得到它 org.springframework.amqp.ImmediateAcknowledgeAmqpException: 恢复 消息强制确认(如果确认模式需要): 我使用纯Spring应用程序发送AMQP消息,该应用程序使用AMQP 并尝试在Grails2.0.3应用程序中处理消息。是 有什么东西我遗漏了吗? 我能做些什么来消除这些错误 亲切问候,, 马可我也有类似的问题。但后来我意识到我的handleMessage方法命名错误。我的

Grails 访问服务中的标记库

我有一个带有名称空间xyz的自定义标记库。我想在服务中访问此标记库的方法。如果我导入它并使用xyz.someFunction()。它不认识它。如何从外部访问标记库的名称空间?标记库包含与视图相关的逻辑,而服务包含业务逻辑。我看不出有任何理由在服务中使用taglib。如果这样做,可能是设计错误。请给出在服务中使用标记库的原因?如果要在服务类中使用自定义标记库,请使用下面的代码 def c = grailsApplication.mainContext.getBean('com.custom.MyC

在容器重新启动后将servlet上下文保留在Grails中

重新启动tomcat实例后,servlet上下文的所有属性都将丢失,尽管所有活动会话的属性仍然处于活动状态。让servlet上下文属性在容器重新启动后存活下来的最好的、也是最像Grails的方法是什么?看来,Grails并没有真正的方法可以做到这一点。遵循标准Servlet API,实现并直接使用web.xml或通过注册 ServletContextListener实现应该使用普通的java反序列化。ServletContext不是持久的,不可分发。它不实现可序列化 Servlet规范的第4章

Grails下载zip文件(浏览器下载文件)

我知道在这方面已经有一些问题了,但这些解决方案都不起作用 我试图单击一个div,jQuery会向我的控件发出get请求,最后下载静态文件(Zip)。使用chrome开发工具,我看到请求作为一个有效的200返回。请求的响应似乎是chrome试图进行的渲染,但我可以分辨出zip文件中包含的文件名,这样我就可以判断它是否发现所有内容都是正确的 响应标题为: Content-Type:application/zip Content-disposition:attachment;filename=myFi

GRAILS:HQL-Order by with IF(ISNULL)

我想知道如何格式化这个查询。我有一个有三个日期的表,其中一些日期可以为空。这三个字段是createdDate、downDate和fixDate。我需要根据日期查询并获取最新条目。例如,如果fixDate不为null,则按fixDate下单,如果为null,则我需要按downDate下单。如果downDate为空,则我按createdDate订购 通过mySQL,我使用以下方法获得正确的结果: SELECT * FROM history WHERE equipment_id=88 ORDER BY

在view上访问时,传递给view的Grails控制器数据为空?

我有一个应用程序,它有一些控制器、视图和布局。我基本上是试图将一些数据从控制器传递到视图。该视图使用layouts文件夹中名为main.gsp的布局。因此,我使用下面的代码尝试将数据传递给视图: def index = { String test = "Testing" println(test) render(view:"index", name: test) } 然后在视图上,它看起来像这样: <html>

Grails <;g:每个>;指定控制器和操作?

我试图从grails项目中的控制器调用一个方法,我可以迭代该方法并在列表中显示项 //Controller code Class TicketController { static allowedMethods = [save: "POST", update: "POST", delete: "POST"] def ticketsByDate = { return [tickets : Ticket.list(sort: 'dateCreated')] } ... GSP code

Grails 在约束中导入域

我有2个域类 class a { String name static constraints = { name unique:true } } class b { String description } 在域类b中,我想称为类a import a class b { String description static constraints = { description unique:'a.name'

Grails中的Unicode字符

我试图在grails中创建一个应用程序,它很像一个博客应用程序。其中一个要求是应用程序必须支持unicode,用户必须能够使用unicode字符进入博客。我已将数据库更改为“utf8\u unicode\u ci”,当我直接向数据库输入unicode记录时,文本以unicode显示。问题是,当我从应用程序中输入unicode字符时,我得到的只是“??”字符。如何修改应用程序以使其支持unicode字符?可能您没有正确设置数据库url。类似的问题 jdbc:mysql:///dbname?useU

Grails springSecurityService在加载时返回空用户

有时,此代码返回空用户对象(第1行),即使springSecurityService.principal.id是有效id。第2行抛出空指针异常,因为用户对象为空。大多数时候代码都能工作,但我不知道是什么导致了空负载 User=User.load(springSecurityService.principal.id) def contactInstance=BasicProfile.findByUser(用户) 附件是第1行中调用后用户对象的屏幕截图 这可能是由于会话超时造成的吗?如果是这样的话

如何在Grails应用程序中实现AOP评测

我试图在grails中实现AOP。 我遵循了这一点 我在src/groovy文件夹中创建了一个服务和一个advice类。 但不幸的是,代码不适合我。下面是我的代码 package com.app.auth Class MyDemoService { void findAdviceTest(){ println"find by is running" } } AOP代码(src/groovy中的MyNewAdvice.groovy文件) 请提供帮助。您的代码正在使用组件注释。您是

Grails,如何获取请求对象

Grails有一个已定义的请求对象 问题是当我尝试使用它时,我得到: No such property: request for class:xxx 通过谷歌搜索这一错误,阅读前100次点击,只产生了一个建议: import javax.servlet.http.HttpServletRequest import org.springframework.web.context.request.ServletRequestAttributes : def my() { HttpServl

Grails中日志文件的相对路径不起作用

我试图给出自定义日志文件的相对路径。但它不工作,如果我从完整的路径给它工作良好 我的代码如下: log4j = { appenders { // append new appenders of your own and add log level and packages/files like to add. rollingFile name: "myAppender", maxFileSize: 1024,

Grails/Groovy编译器错误之谜

这行代码: def exists = (existingIndRecs.find{ existant -> existant.uniqueId == incomingRecord.uniqueId}​​​​​ ? true : false) 正在编译时导致此错误: /FileImportService.groovy: 184: expecting ')', found '​​​​​' @ line 184, column 100. Id == incomingRecord.uniqueI

具有离线存储/查询功能的Grails应用程序

我有个朋友想让我为他拥有的三家商店写一个库存管理系统。我在想我可以使用Grails编写一个webapp,这样所有三个商店都可以读取和写入一个公共数据库。问题是,如果互联网连接出现问题,他将失去与数据库的连接,因此无法进行任何交易 我的问题是,如果出现网络故障,我是否可以采取措施使应用程序退回到本地数据库实例,并且当网络备份时,重新连接并更新主数据库中的数据?将责任推到数据库级别并使用主复制。例如,Mysql提供了这样的东西。不过,以股票为例,这可能会很困难 您可以为您的场景使用JMS插件。您的应

Grails 如何从Servlet3Security ContextHolderAwareRequestWrapper中获取多部分请求

我使用的是Grails2.4.3,我有一个,方法设置为post,但我的控制器操作中没有MutlipartRequest。相反,我得到的是一个Servlet3SecurityContextHolderAwareRequestWrapper,它没有getFile()方法。我尝试过使用request.request,从包装器中取出请求,尝试过一些我见过的类似问题的其他建议,但仍然没有成功。我肯定我错过了一些简单的东西。我倾向于这样做,但如果有人能给我指出正确的方向,我将非常感激 这是我的表格: &

Grails——服务层的使用

当我想更新一个非简单的域对象时,我在组织代码方面遇到了问题。问题是将控制器和服务层的责任分开 更明确地说,假设我们有一个依赖于其他域类(如Address等)的域类客户机 在视图中,有一个gsp用于编辑一些客户端属性,包括一些嵌套属性,如地址上的street 当我想更新这些字段时,我调用控制器上的update方法(在本例中是ClientController) 我喜欢验证时来自域类错误的特性。就像我在控制器里写的一样 Client client = Client.get(params.id) cli

Grails2.4.x在运行时设置密钥库

在升级到Grails 2.4.x之前(我使用的是Grails 2.2.x),我使用Grails引导类中的系统属性设置SSL密钥库,如下所示: System.setProperty('javax.net.ssl.keyStore', path) System.setProperty('javax.net.ssl.keyStorePassword', password) System.setProperty('sun.security.ssl.allowUnsafeRenegotiation'

Grails gsp中的群基循环

我有一个列表页面,它是一个简单的表,在这里我呈现简单的细节,如页面标题、摘要、正文、是否活动等,这里我想在一个单独的表中显示是活动页面列表,在一个单独的表中显示非活动页面。在这里,我想使用单个表在is active和in active as组的基础上执行此操作。在grails中有什么方法可以做到这一点吗?我对grails有点陌生,只是从ColdFusion切换到grails。谢谢 我想做这样的事 <g:if test="${pageList.is-active}"> list

使用JSON RestfulController进行grails单元测试

我在为一个简单的控制器编写单元测试时遇到了一个问题,我真的在寻求帮助 我的控制器: package test.controller import grails.converters.JSON import grails.rest.RestfulController; import grails.transaction.Transactional import groovy.sql.GroovyRowResult import groovy.sql.Sql import javax.sql.Da

Grails应用程序,使用SSH将文件从远程服务器复制和解压缩到另一个远程服务器

我是JAVA\Grails\Groovy新手。刚刚开始创建简单的应用程序。 我有一项任务要创建grails应用程序: 1) 显示远程服务器上可通过FTP和SSH访问的源zip文件列表 2) 显示具有预定义目标文件夹的目标远程服务器列表,这些文件夹仅由SSH提供 3) 选择源zip和目标服务器后,它将zip复制到目标服务器\文件夹并解压缩。必须显示进度条 4) 执行一些附加命令,例如ls或类似的命令 所有配置必须在配置文件或数据库中进行 应用程序中不应硬编码任何信息 请帮助我选择方法、插件或框架

Grails spring安全rest-覆盖令牌

我在为已经拥有令牌的用户覆盖数据库中的令牌时遇到问题。 问题:对api/v1/login的POST请求会在JSON响应中生成新的令牌,但我收到的新生成的令牌不会存储在数据库中。如果我们已经为该用户提供了令牌,则旧令牌会一直保留,直到Quartz作业将其移除 如果用户再次登录,我希望用户收到一个新的令牌(并将其存储起来)。我们需要更多详细信息来帮助您:您需要插件配置、安全过滤器等 我建议您将令牌保存在缓存中,而不是像指定的那样保存在数据库中。很好的建议,如果GORM实现看起来不可能,我会尝试。 也

Grails 根据身份验证指定要显示的路径的视图控制器

我有一个网站,有一个管理员帐户,可以将一些文件上传到特定路径,然后用户在验证特定路径的密码后,可以看到这些文件 这是管理员帐户:他可以将新文件上载到路径。他还可以通过点击按钮创建新路径 用户输入我们管理员给他的密码,这样他就可以访问我们上传的特定类型的文件。如下图所示: 我不希望user1能够看到path2或user2能够看到path1 我该怎么做 我目前有一个文档控制器,可以成功地为管理员上传文件,还有一个登录控制器,可以验证访问权限。我唯一需要的是了解我需要在我的域类中定义哪些变量,以及在

部署到AWS的Grails应用程序在初始化时引发异常

我最近尝试将我的Grails应用程序部署到Amazon Web服务(Elastic Beanstalk),但失败了。我相信我与亚马逊RDS的连接是正确的。你可以在下面看到我的配置。有趣的是,当我在虚拟服务器上的EclipseIDE中构建这个项目时,没有任何错误,它连接到AWS的数据库也很好 environments { production { dataSource { pooled = true username = "u

Grails3集成测试中块抛出nullpointexception的Spock

我正在尝试使用spock where块运行Grails 3服务集成测试。然而,我得到了一个空指针异常(见下文)。如果我将它作为一系列then/when块来运行,它就会工作。你知道我错过了什么吗 @Integration @Rollback class PersistenceAutoCompleteTermServiceIntegrationSpec extends Specification { def setup() { } def cleanup() {

grailsgorm查询限制

我有两个域名 class ProductQuantity { Integer quantity static belongsTo = [productSize: ProductSize] } class ProductSize { String size static hasMany = [productQuantities : ProductQuantity] } 我试图构建一个查询,从中可以通过productSize获得所有ProductQuanti

任何将activiti插件与grails集成的示例

请提供将activiti插件与grails集成的任何链接。我调查了假期申请,因此除此之外,任何其他申请都会大有裨益 谢谢我想这可能就是你想要的,尽管我对你的要求不是很确定 这是另一个详细讨论

Grails 1.3.7“;不是有效的Grails插件。找不到plugin.xml描述符&引用;尝试在Jenkins中安装插件时出错

即使通过命令“grails install plugin\u name plugin\u version”安装了这些随机错误,我也会遇到这些错误。这是Jenkins构建的一部分,首先签出代码,然后使用grails构建,然后以“prod war”作为目标。 Grails能够找到并安装它需要的插件,但是对于这个插件的不同版本仍然失败,我不知道它是从哪里挑选版本的 下面是错误的一个片段: 下面是我的BuildConfig.groovy: 非常感谢您的帮助,我已经没有选择了。 谢谢 看起来您正在将spr

Grails 使用ExpandoMetaClass.EnableGlobal()的成本是多少?(Groovy)

我想确定我不会因此而导致性能问题。我们正在编写一个简单的货币DSL,有人建议我打开: ExpandoMetaClass.enableGlobally() 然而,我还不能确定这到底意味着什么。它是只在根对象的继承树上启用元类重写,还是将其应用于内存中的每个对象类型 将Expando全局应用于生产实例是否存在风险?Grails已经这样做了,因此无论涉及到什么成本,都已经发生了:) 此设置将默认的元类实现从metalassimpl更改为ExpandoMetaClassExpandoMetaClass

Log4j2 Grails RollingFileAppender

我试图用Grails2.5.3实现log4j2,但配置属性有问题 我使用我以前在config.groovy文件中使用的log4j 1.x更新了我的旧项目,如下所示: import org.apache.log4j.* ... log4j={ environments{ production{ appenders{ def rollingAppender = new RollingFileAppender(

无法配置Grails 3多个数据源

我最近尝试创建一个应用程序,允许我比较3个独立数据库的值。这些数据库是3个Oracle实例,它们包含(基本上)相同的数据库,但处于DEV/TEST/PROD设置中 我想做的是在Grails3中创建一个域类。然后,我希望能够获取该域类映射到的记录,但对所有3种环境都这样做 从阅读Grails 3文档来看,通过在application.yml中定义3个数据源(在我的示例中,我定义了4个),这似乎是可能的: 然后在域类的映射中指定映射中的数据源: package plsutils class Dmj

Grails3生产版本样式表显示的与develpement版本不同

我正在尝试使用war命令部署grails3web应用程序。开发版本显示了正确的样式表,在生产服务器上部署后,它会把一切都搞砸。由于css和JavaScript被缩小了,我无法真正解决问题…图像开发版本中的示例 生产版本 我使用上面的代码来显示选项卡和下面的css #tabsF{ 浮动:左; 宽度:100%; 背景:#efef; 字体大小:100%; 线高:正常; 边框底部:1px实心#666; } #塔布斯福酒店{ 右侧填充:10px;左侧填充:10px;底部填充:0px;边距:0px;顶部

如何使用生成的Grails3循环服务在数据库中存储多个条目

我可能会问一些幼稚的问题,因为我是grails3的新手 我想在数据库中存储多个条目,我使用的是所有默认配置。这是我的小代码。我已经在for循环中注入了服务并使用了该服务的save方法 MyService myService for (int i = 0; i < 2; i++){ // some code modification myService.save(domainClass) } MyService MyService 对于(int i=0;i

如何使用Grails4.0.1创建WebServiceSOAP

亲爱的朋友们,我需要一些好的参考资料来了解如何使用Grails4.0.1创建SOAP Web服务。我创建了一个服务库,需要提供一些方法作为端点供其他应用程序使用。 我不知道哪个插件最适合与版本4一起使用

Grails控制器每个都有多个按钮

我想做一些类似下图的事情: 每次我单击Add,都会显示一个新页面,并为要添加的按钮选择名称。单击每个按钮时,应将不同的参数传递给同一控制器(每个按钮的控制器相同,不同之处在于参数列表)。按钮名称应该来自我的数据库。我的问题是每个标签上都有按钮 我需要一些帮助。我可以在我的每个标签中使用以下代码: <g:form action="removeFavourite"> <g:submitButton name="add" value="Actio

Groovy/grails对象属性字段名

我有一个名为term的对象,当我打印它时,我得到以下值 println(Termin) #1 User123 20.00 Home 如何打印属性字段名称,例如: user_id user_name time location 我使用以下代码获取域的属性: Shop.class.getDeclaredFields().grep { !it.synthetic && !Modifier.isStatic(it.getModifiers())}.name 我使用以下代码获

Grails 如何为REST和基于浏览器的交互创建URL映射

我希望从控制器中获得以下功能,并且匹配的REST支持这些功能: 创造一种颜色 根据id获取特定颜色 获取所有颜色 我有以下URL方案: "/$controller/$action?/$id?"{ constraints { // apply constraints here } } "/color"(controller: "color", parseRequest: true) { action

Grails 通过查询具有条件的数据库创建集合

我正在尝试查询PerformanceReview表,该表属于PerformanceReview状态,它将返回状态为“新建”或“打开”的绩效考核。我知道如何获得所有状态为“新”的绩效考核,但如何找到状态为“新”或“打开”的绩效考核 def newStatus = PerformanceReviewStatus.findByName('New') def openStatus = PerformanceReviewStatus.findByName('open') def query = Perfo

如何将服务动态注入grails自定义构件

所以我创建了一个插件,它引入了一个定制的人工制品“Guard”(Guard类驻留在:/grails app/guards中)。现在,我的插件的工作原理是让grailsApplication知道新的人工制品。因此,如果调用grailsApplication.getGuardClasses(),行为将按预期执行 我的问题是,我希望能够将服务动态注入到我的guard类中,如下所示: Class ExampleGuard { def exampleService } 我在这个网站上找到了

Grails验证拒绝值错误

我正在使用一个服务来验证一个相当复杂的命令对象 在我的一次测试/验证中,我 if (!txn.documentHeader) { println "Received ${txn.documentReferenceCode}" errors.rejectValue('documentReferenceCode', "document.not.found", [txn.documentReferenceCode].toArray(),

grails外壳和闭包

正在尝试在grails控制台中运行以下命令: Family.where() {password =~ "%qw%"} 对存储对象的非常简单的查询。我回来了: ERROR groovy.lang.MissingMethodException: No signature of method: com.babyboom.Family.where() is applicable for argument types: (groovysh_evaluate$_run_closure1) valu

Grails 验证测试将BigDecimal 0.0计算为null

我正在使用Grails2.4.3 我有一个名为value的属性,类型为BigDecimal,其定义如下: @BindUsing({ obj, source -> if (source['value']) { source['value']?.toBigDecimal() } else { null } }) BigDecimal value 现在,如果我在约束中使用此值,我会得到以下奇怪的行为: if (obj.value) 如果值设

Grails:在GSP视图中拆分字符串

我知道如何在控制器或域类中拆分字符串 但我想在普惠制内部拆分字符串 我的字符串将如下所示: ASD25785-T 我希望能够在GSP视图中将其拆分为2个字符串 String a = ASD25785 String b = T 在普惠制内有可能做到这一点吗?像这样的事情怎么样: <% String[] tokens = "ASD25785-T".split("-") String b = tokens[0] String c = tokens[1] %> N