我正在为这样的人保存联系人电子邮件、手机、ICQ、AIM等:
class Person {
static hasMany = {
contacts: Contact
}
}
class Contact {
String code
ContactType type
}
class ContactType {
String name
}
在我看来,我已经编写了一些用于显示每个联系人的模板,其中包含联系人类型的选择框和代码的文本字段,并添加了一些用于添加和删除的JavaS
我使用的是0.5.5.1 grails可搜索插件。搜索适用于我的大多数对象和字段。然而,我有一个字符串id的类,它由一个数字破折号组成,如1-1,1-2。。等等我无法按id搜索此对象。我猜这是由于其中的破折号,它可能会被可搜索分析器忽略?不确定。。有什么想法和建议吗?我首先建议你下载Luke,看看索引中到底有什么内容
默认索引位置为
"${user.home}/.grails/projects/${app.name}/searchable-index/${grails.env}"
在基于用于创
grails中是否有任何习惯用法可以帮助我们保存域对象
比如说
我可能想做一些类似的事情
if(candidate.hasErrors | | |!candidate.save)
{
每一个{
记录下来
}
但是,我不想将逻辑扩展到我在domainObject.save中使用的所有地方
我也不希望像say repo这样的单独类,我将这个domainObject传递给它,并将其放入这个逻辑中
谢谢
Sudarshan这里有一个我用来验证和保存的服务方法,但在失败时记录已解决的验证消息。使用它而
嘿。想象一下我有一个类似这样的
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&
读者注意:多亏蒂姆在下面的帮助,我才得以解决这个问题。问题的根源不是ArrayList转换,而是运行时引擎将错误指向了错误的行,即我在下面显示的访问列表的行。真正的错误是在下面4行,在这里我错误地将一个元素分配到我刚刚检索到的元素中
我有一个小的结果类(在我的grails控制器类的底部),然后在我的代码中,我有
ArrayList<Result> bestResults = new ArrayList<Result>()
与
或者只是
Result res = best
标签: Grails
submitactiononchange
我想选择带有标记的语言,并在选择更改时将选择参数发送给操作。(参数应在打开视图的url中可见)
我尝试了和的不同变体:
版本创建正确的参数,但不创建rest url:
<g:form name="selectLanguage" <b>action='show' id="${mitarbeiterprofilInstance.id}" lang=lang>
<g:select onchange="submit();"
value="${profilInstan
我正在使用Grails 2、Groovy 1.8.5、Grails Ldap插件在Active Directory上通过Ldap执行查找,并获得javax.naming.PartialResultException:未处理的继续引用;剩余名称“/”。对于授权,我使用SpringLDAP,它工作正常,没有问题。
我环顾四周,大多数线程都在谈论自动跟踪我使用此标志表示derefrinkflag=true的引用
我甚至尝试将此参数传递给JVM-Djava.naming.referral=follow
我正在尝试使用RabbitMQ插件,无论我做什么,我都会得到它
org.springframework.amqp.ImmediateAcknowledgeAmqpException:
恢复
消息强制确认(如果确认模式需要):
我使用纯Spring应用程序发送AMQP消息,该应用程序使用AMQP
并尝试在Grails2.0.3应用程序中处理消息。是
有什么东西我遗漏了吗?
我能做些什么来消除这些错误
亲切问候,,
马可我也有类似的问题。但后来我意识到我的handleMessage方法命名错误。我的
我有一个带有名称空间xyz的自定义标记库。我想在服务中访问此标记库的方法。如果我导入它并使用xyz.someFunction()。它不认识它。如何从外部访问标记库的名称空间?标记库包含与视图相关的逻辑,而服务包含业务逻辑。我看不出有任何理由在服务中使用taglib。如果这样做,可能是设计错误。请给出在服务中使用标记库的原因?如果要在服务类中使用自定义标记库,请使用下面的代码
def c = grailsApplication.mainContext.getBean('com.custom.MyC
重新启动tomcat实例后,servlet上下文的所有属性都将丢失,尽管所有活动会话的属性仍然处于活动状态。让servlet上下文属性在容器重新启动后存活下来的最好的、也是最像Grails的方法是什么?看来,Grails并没有真正的方法可以做到这一点。遵循标准Servlet API,实现并直接使用web.xml或通过注册
ServletContextListener实现应该使用普通的java反序列化。ServletContext不是持久的,不可分发。它不实现可序列化
Servlet规范的第4章
我知道在这方面已经有一些问题了,但这些解决方案都不起作用
我试图单击一个div,jQuery会向我的控件发出get请求,最后下载静态文件(Zip)。使用chrome开发工具,我看到请求作为一个有效的200返回。请求的响应似乎是chrome试图进行的渲染,但我可以分辨出zip文件中包含的文件名,这样我就可以判断它是否发现所有内容都是正确的
响应标题为:
Content-Type:application/zip
Content-disposition:attachment;filename=myFi
我想知道如何格式化这个查询。我有一个有三个日期的表,其中一些日期可以为空。这三个字段是createdDate、downDate和fixDate。我需要根据日期查询并获取最新条目。例如,如果fixDate不为null,则按fixDate下单,如果为null,则我需要按downDate下单。如果downDate为空,则我按createdDate订购
通过mySQL,我使用以下方法获得正确的结果:
SELECT * FROM history WHERE equipment_id=88 ORDER BY
标签: Grails
controllernullviewdata
我有一个应用程序,它有一些控制器、视图和布局。我基本上是试图将一些数据从控制器传递到视图。该视图使用layouts文件夹中名为main.gsp的布局。因此,我使用下面的代码尝试将数据传递给视图:
def index = {
String test = "Testing"
println(test)
render(view:"index", name: test)
}
然后在视图上,它看起来像这样:
<html>
我试图从grails项目中的控制器调用一个方法,我可以迭代该方法并在列表中显示项
//Controller code
Class TicketController {
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
def ticketsByDate = {
return [tickets : Ticket.list(sort: 'dateCreated')]
}
...
GSP code
标签: Grails
grails-domain-class
我有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,用户必须能够使用unicode字符进入博客。我已将数据库更改为“utf8\u unicode\u ci”,当我直接向数据库输入unicode记录时,文本以unicode显示。问题是,当我从应用程序中输入unicode字符时,我得到的只是“??”字符。如何修改应用程序以使其支持unicode字符?可能您没有正确设置数据库url。类似的问题
jdbc:mysql:///dbname?useU
有时,此代码返回空用户对象(第1行),即使springSecurityService.principal.id是有效id。第2行抛出空指针异常,因为用户对象为空。大多数时候代码都能工作,但我不知道是什么导致了空负载
User=User.load(springSecurityService.principal.id)
def contactInstance=BasicProfile.findByUser(用户)
附件是第1行中调用后用户对象的屏幕截图
这可能是由于会话超时造成的吗?如果是这样的话
我试图在grails中实现AOP。
我遵循了这一点
我在src/groovy文件夹中创建了一个服务和一个advice类。
但不幸的是,代码不适合我。下面是我的代码
package com.app.auth
Class MyDemoService
{
void findAdviceTest(){
println"find by is running"
}
}
AOP代码(src/groovy中的MyNewAdvice.groovy文件)
请提供帮助。您的代码正在使用组件注释。您是
Grails有一个已定义的请求对象
问题是当我尝试使用它时,我得到:
No such property: request for class:xxx
通过谷歌搜索这一错误,阅读前100次点击,只产生了一个建议:
import javax.servlet.http.HttpServletRequest
import org.springframework.web.context.request.ServletRequestAttributes
:
def my() {
HttpServl
我试图给出自定义日志文件的相对路径。但它不工作,如果我从完整的路径给它工作良好
我的代码如下:
log4j = {
appenders {
// append new appenders of your own and add log level and packages/files like to add.
rollingFile name: "myAppender",
maxFileSize: 1024,
这行代码:
def exists = (existingIndRecs.find{ existant -> existant.uniqueId == incomingRecord.uniqueId} ? true : false)
正在编译时导致此错误:
/FileImportService.groovy: 184: expecting ')', found '' @ line 184, column 100.
Id == incomingRecord.uniqueI
我有个朋友想让我为他拥有的三家商店写一个库存管理系统。我在想我可以使用Grails编写一个webapp,这样所有三个商店都可以读取和写入一个公共数据库。问题是,如果互联网连接出现问题,他将失去与数据库的连接,因此无法进行任何交易
我的问题是,如果出现网络故障,我是否可以采取措施使应用程序退回到本地数据库实例,并且当网络备份时,重新连接并更新主数据库中的数据?将责任推到数据库级别并使用主复制。例如,Mysql提供了这样的东西。不过,以股票为例,这可能会很困难 您可以为您的场景使用JMS插件。您的应
我使用的是Grails2.4.3,我有一个,方法设置为post,但我的控制器操作中没有MutlipartRequest。相反,我得到的是一个Servlet3SecurityContextHolderAwareRequestWrapper,它没有getFile()方法。我尝试过使用request.request,从包装器中取出请求,尝试过一些我见过的类似问题的其他建议,但仍然没有成功。我肯定我错过了一些简单的东西。我倾向于这样做,但如果有人能给我指出正确的方向,我将非常感激
这是我的表格:
&
当我想更新一个非简单的域对象时,我在组织代码方面遇到了问题。问题是将控制器和服务层的责任分开
更明确地说,假设我们有一个依赖于其他域类(如Address等)的域类客户机
在视图中,有一个gsp用于编辑一些客户端属性,包括一些嵌套属性,如地址上的street
当我想更新这些字段时,我调用控制器上的update方法(在本例中是ClientController)
我喜欢验证时来自域类错误的特性。就像我在控制器里写的一样
Client client = Client.get(params.id)
cli
在升级到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'
我有一个列表页面,它是一个简单的表,在这里我呈现简单的细节,如页面标题、摘要、正文、是否活动等,这里我想在一个单独的表中显示是活动页面列表,在一个单独的表中显示非活动页面。在这里,我想使用单个表在is active和in active as组的基础上执行此操作。在grails中有什么方法可以做到这一点吗?我对grails有点陌生,只是从ColdFusion切换到grails。谢谢
我想做这样的事
<g:if test="${pageList.is-active}">
list
我在为一个简单的控制器编写单元测试时遇到了一个问题,我真的在寻求帮助
我的控制器:
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
我是JAVA\Grails\Groovy新手。刚刚开始创建简单的应用程序。
我有一项任务要创建grails应用程序:
1) 显示远程服务器上可通过FTP和SSH访问的源zip文件列表
2) 显示具有预定义目标文件夹的目标远程服务器列表,这些文件夹仅由SSH提供
3) 选择源zip和目标服务器后,它将zip复制到目标服务器\文件夹并解压缩。必须显示进度条
4) 执行一些附加命令,例如ls或类似的命令
所有配置必须在配置文件或数据库中进行
应用程序中不应硬编码任何信息
请帮助我选择方法、插件或框架
我在为已经拥有令牌的用户覆盖数据库中的令牌时遇到问题。
问题:对api/v1/login的POST请求会在JSON响应中生成新的令牌,但我收到的新生成的令牌不会存储在数据库中。如果我们已经为该用户提供了令牌,则旧令牌会一直保留,直到Quartz作业将其移除
如果用户再次登录,我希望用户收到一个新的令牌(并将其存储起来)。我们需要更多详细信息来帮助您:您需要插件配置、安全过滤器等
我建议您将令牌保存在缓存中,而不是像指定的那样保存在数据库中。很好的建议,如果GORM实现看起来不可能,我会尝试。
也
我有一个网站,有一个管理员帐户,可以将一些文件上传到特定路径,然后用户在验证特定路径的密码后,可以看到这些文件
这是管理员帐户:他可以将新文件上载到路径。他还可以通过点击按钮创建新路径
用户输入我们管理员给他的密码,这样他就可以访问我们上传的特定类型的文件。如下图所示:
我不希望user1能够看到path2或user2能够看到path1
我该怎么做
我目前有一个文档控制器,可以成功地为管理员上传文件,还有一个登录控制器,可以验证访问权限。我唯一需要的是了解我需要在我的域类中定义哪些变量,以及在
我最近尝试将我的Grails应用程序部署到Amazon Web服务(Elastic Beanstalk),但失败了。我相信我与亚马逊RDS的连接是正确的。你可以在下面看到我的配置。有趣的是,当我在虚拟服务器上的EclipseIDE中构建这个项目时,没有任何错误,它连接到AWS的数据库也很好
environments {
production {
dataSource {
pooled = true
username = "u
标签: Grails
integration-testingspockgrails-3.0
我正在尝试使用spock where块运行Grails 3服务集成测试。然而,我得到了一个空指针异常(见下文)。如果我将它作为一系列then/when块来运行,它就会工作。你知道我错过了什么吗
@Integration
@Rollback
class PersistenceAutoCompleteTermServiceIntegrationSpec extends Specification {
def setup() {
}
def cleanup() {
我有两个域名
class ProductQuantity {
Integer quantity
static belongsTo = [productSize: ProductSize]
}
class ProductSize {
String size
static hasMany = [productQuantities : ProductQuantity]
}
我试图构建一个查询,从中可以通过productSize获得所有ProductQuanti
标签: Grails
grails-pluginactiviti
请提供将activiti插件与grails集成的任何链接。我调查了假期申请,因此除此之外,任何其他申请都会大有裨益
谢谢我想这可能就是你想要的,尽管我对你的要求不是很确定
这是另一个详细讨论
即使通过命令“grails install plugin\u name plugin\u version”安装了这些随机错误,我也会遇到这些错误。这是Jenkins构建的一部分,首先签出代码,然后使用grails构建,然后以“prod war”作为目标。
Grails能够找到并安装它需要的插件,但是对于这个插件的不同版本仍然失败,我不知道它是从哪里挑选版本的
下面是错误的一个片段:
下面是我的BuildConfig.groovy:
非常感谢您的帮助,我已经没有选择了。
谢谢 看起来您正在将spr
我想确定我不会因此而导致性能问题。我们正在编写一个简单的货币DSL,有人建议我打开:
ExpandoMetaClass.enableGlobally()
然而,我还不能确定这到底意味着什么。它是只在根对象的继承树上启用元类重写,还是将其应用于内存中的每个对象类型
将Expando全局应用于生产实例是否存在风险?Grails已经这样做了,因此无论涉及到什么成本,都已经发生了:)
此设置将默认的元类实现从metalassimpl更改为ExpandoMetaClassExpandoMetaClass
标签: Grails
log4j2rollingfileappendergrails-2.5
我试图用Grails2.5.3实现log4j2,但配置属性有问题
我使用我以前在config.groovy文件中使用的log4j 1.x更新了我的旧项目,如下所示:
import org.apache.log4j.*
...
log4j={
environments{
production{
appenders{
def rollingAppender = new RollingFileAppender(
我最近尝试创建一个应用程序,允许我比较3个独立数据库的值。这些数据库是3个Oracle实例,它们包含(基本上)相同的数据库,但处于DEV/TEST/PROD设置中
我想做的是在Grails3中创建一个域类。然后,我希望能够获取该域类映射到的记录,但对所有3种环境都这样做
从阅读Grails 3文档来看,通过在application.yml中定义3个数据源(在我的示例中,我定义了4个),这似乎是可能的:
然后在域类的映射中指定映射中的数据源:
package plsutils
class Dmj
我正在尝试使用war命令部署grails3web应用程序。开发版本显示了正确的样式表,在生产服务器上部署后,它会把一切都搞砸。由于css和JavaScript被缩小了,我无法真正解决问题…图像开发版本中的示例
生产版本
我使用上面的代码来显示选项卡和下面的css
#tabsF{
浮动:左;
宽度:100%;
背景:#efef;
字体大小:100%;
线高:正常;
边框底部:1px实心#666;
}
#塔布斯福酒店{
右侧填充:10px;左侧填充:10px;底部填充:0px;边距:0px;顶部
我可能会问一些幼稚的问题,因为我是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创建SOAP Web服务。我创建了一个服务库,需要提供一些方法作为端点供其他应用程序使用。
我不知道哪个插件最适合与版本4一起使用
我想做一些类似下图的事情:
每次我单击Add,都会显示一个新页面,并为要添加的按钮选择名称。单击每个按钮时,应将不同的参数传递给同一控制器(每个按钮的控制器相同,不同之处在于参数列表)。按钮名称应该来自我的数据库。我的问题是每个标签上都有按钮
我需要一些帮助。我可以在我的每个标签中使用以下代码:
<g:form action="removeFavourite">
<g:submitButton name="add" value="Actio
我有一个名为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
我使用以下代码获
我希望从控制器中获得以下功能,并且匹配的REST支持这些功能:
创造一种颜色
根据id获取特定颜色
获取所有颜色
我有以下URL方案:
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/color"(controller: "color", parseRequest: true) {
action
我正在尝试查询PerformanceReview表,该表属于PerformanceReview状态,它将返回状态为“新建”或“打开”的绩效考核。我知道如何获得所有状态为“新”的绩效考核,但如何找到状态为“新”或“打开”的绩效考核
def newStatus = PerformanceReviewStatus.findByName('New')
def openStatus = PerformanceReviewStatus.findByName('open')
def query = Perfo
标签: Grails
grails-2.0grails-plugin
所以我创建了一个插件,它引入了一个定制的人工制品“Guard”(Guard类驻留在:/grails app/guards中)。现在,我的插件的工作原理是让grailsApplication知道新的人工制品。因此,如果调用grailsApplication.getGuardClasses(),行为将按预期执行
我的问题是,我希望能够将服务动态注入到我的guard类中,如下所示:
Class ExampleGuard {
def exampleService
}
我在这个网站上找到了
我正在使用一个服务来验证一个相当复杂的命令对象
在我的一次测试/验证中,我
if (!txn.documentHeader) {
println "Received ${txn.documentReferenceCode}"
errors.rejectValue('documentReferenceCode', "document.not.found",
[txn.documentReferenceCode].toArray(),
正在尝试在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
我正在使用Grails2.4.3
我有一个名为value的属性,类型为BigDecimal,其定义如下:
@BindUsing({ obj, source ->
if (source['value']) {
source['value']?.toBigDecimal()
} else {
null
}
})
BigDecimal value
现在,如果我在约束中使用此值,我会得到以下奇怪的行为:
if (obj.value)
如果值设
我知道如何在控制器或域类中拆分字符串
但我想在普惠制内部拆分字符串
我的字符串将如下所示:
ASD25785-T
我希望能够在GSP视图中将其拆分为2个字符串
String a = ASD25785
String b = T
在普惠制内有可能做到这一点吗?像这样的事情怎么样:
<%
String[] tokens = "ASD25785-T".split("-")
String b = tokens[0]
String c = tokens[1]
%>
N