Questions tagged «grails»

Grails是一个开放源代码的全栈Web应用程序框架,它使用Groovy编程语言(该语言又基于Java虚拟机(JVM)和Java。该框架通过遵循“编码”来围绕高生产率的应用程序开发。按照惯例”,并使用Hibernate和Spring等常见的Java技术。

11
最好以JSON形式将文件和关联数据发布到RESTful WebService
这可能是一个愚蠢的问题,但我有一个夜晚。在一个应用程序中,我正在开发RESTful API,我们希望客户端将数据作为JSON发送。此应用程序的一部分要求客户端上载文件(通常是图像)以及有关该图像的信息。 我很难跟踪单个请求中的情况。是否可以将文件数据Base64转换为JSON字符串?我需要在服务器上执行2个帖子吗?我不应该为此使用JSON吗? 附带说明一下,我们在后端使用Grails,并且本机移动客户端(iPhone,Android等)可以访问这些服务(如果有区别的话)。
756 json  rest  grails  file-upload 

11
四季豆到底是什么?
我还没有找到我能理解的高级Spring bean定义。我看到Grails文档和书籍中经常引用它们,但是我认为了解它们的好处将是有益的。那么什么是春豆呢?如何使用它们?他们和依赖注入有关系吗?
397 java  spring  grails 

2
如何增加IntelliJ中打开的编辑器的最大数量?
我正在使用IntelliJ 9.0构建grails-app,并且非常喜欢CTR + TAB快捷方式,该快捷方式可在活动编辑器之间切换。 但是,默认情况下,IntelliJ只能同时打开10个活动的编辑器。显然这对我来说还不够。 您知道吗,如果可能的话,如何配置我的IDE以同时打开更多活动的编辑器?

1
在Grails 2.0.0运行时生成的Clojure 1.2.1 / 1.3 / 1.4'代理失败。1.2.0很好
我正在扩展的Grails的Clojure插件在Grails的2.0.0(和2.1.0-SNAPSHOT),我想把它升级到Clojure的1.3.0,并添加clojure.tools.logging。 Clojure的一个编译过程中抛出一个异常 代理的ByteArrayOutputStream中clojure.tools.logging的日志流功能: ClassCastException: clojure.asm.Type cannot be cast to clojure.lang.IFn (https://gist.github.com/a6ae681c37091a3d2379) 我去和删除clojure.tools.logging,并写了一个剥离下来的代理的Object: (proxy [java.lang.Object] [] (toString [] "proxy's toString")) 它也引发了同样的ClassCastException信息。 我试图打印代理的macroexpand-1,并得到了同样的东西。 我恢复为Clojure 1.2.0,代理再次正常工作。 我尝试了多个1.4.0的版本,它们表现出与1.3.0相同的行为。1.2.1也引发了一些异常,但是我试图达到1.3.0,所以我并没有花太多时间。 堆栈跟踪指向in的let形式之一generate-proxy中定义的'gen-method函数core_proxy.clj。 我在附近添加了一个小的符号,println以查看是否可以捕获正在发生的情况。也许下一条语句会背叛我,这对读者是一个巨大的误解,但只是添加这些内容println,就以我完全没想到的方式改变了编译时的行为。即使所有Clojure测试mvn package继续通过,异常位置和异常类型也已完全更改。 例如,println在开始生成字节码之前仅在gen-method中添加一个会导致Clojure抛出 ClassCastException: clojure.lang.PersistentArrayMap cannot be cast to java.lang.Class (https://gist.github.com/5a7a40929a6c4a104bd5) 根据放置位置,我还看到了其他各种错误,println但这是最普遍的。 显然,Grails和Clojure的某些方面在此处无法正确啮合,但我看不到连接。起初,我怀疑ASM不兼容,但是由于Clojure具有自己的ASM名称空间,所以我看不出这是问题所在。但是也许我错了,我一直盯着clojure.lang.Compiler,代理和generate-proxy了好几天了,试图使它起作用,但由于动力不足,我几乎停止了前进的步伐:( 对于缺少链接,我深表歉意。您可以从下面复制和粘贴: Grails Clojure-github.com/grails-plugins/grails-clojure Clojure工具日志记录-github.com/clojure/tools.logging/blob/master/src/main/clojure/clojure/tools/logging.clj第133行是'proxy
103 grails  groovy  clojure  proxy 



12
在Grails中使用HibernateCriteriaBuilder时,为什么会收到“将Null值分配给原始类型设置器的属性”错误消息
在grails域对象中使用原始属性时,出现以下错误: Null value was assigned to a property of primitive type setter of MyDomain.myAttribute org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of MyDomain.myAttribute at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1077)
100 grails  gorm 

8
如何将参数传递给模态?
我想将登录用户点击userName的userNamesa 列表中的传递给twitter bootstrap modal。我在与angularjs一起使用grails,其中数据是通过angularjs呈现的。 组态 我的grails视图页面encouragement.gsp是 <div ng-controller="EncouragementController"> <g:render template="encourage/encouragement_modal" /> <tr ng-cloak ng-repeat="user in result.users"> <td>{{user.userName}}</rd> <td> <a class="btn btn-primary span11" href="#encouragementModal" data-toggle="modal"> Encourage </a> </td> </tr> 我的encourage/_encouragement_modal.gsp是 <div id="encouragementModal" class="modal hide fade"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3>Confirm encouragement?</h3> </div> <div class="modal-body"> Do you really want …


14
基于Linux OpenJDK Debian的发行版的JAVA_HOME环境变量的正确目标是什么?
在Windows中,JAVA_HOME必须指向JDK安装文件夹(以便JAVA_HOME/bin包含所有可执行文件并JAVA_HOME/libs包含所有默认jar库)。 如果我下载了Sun的JDK捆绑软件并将其安装在Linux中,则过程相同。 但是,我需要使用Kubuntu的默认OpenJDK软件包。问题在于所有可执行文件都放在中/usr/bin。但是罐子放在里面/usr/share/java。由于它们不在同一个JAVA_HOME文件夹中,因此我在Grails上遇到了麻烦,也许其他期望使用标准Java结构的应用程序也会遇到麻烦。 如果我使用: JAVA_HOME=/usr 想要使用任何Java可执行文件的所有应用程序和脚本都可以使用标准过程call $JAVA_HOME/bin/executable。但是,由于罐子位于不同的位置,因此并不总是可以找到它们(例如:在我要的grailsClassDefNotFound中native2ascii)。 另一方面,如果我使用: JAVA_HOME=/usr/share/java 在Java可执行文件(没有java,javac等等)都可以找到。 那么,JAVA_HOME在基于Debian的Linux中处理变量的正确方法是什么? 谢谢您的帮助,路易斯

15
Grails值得吗?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 这是一半,一半的问题。 值得使用Grails吗?我正在尝试开发一个相对简单的数据库驱动的Web应用程序。我的专长是Java,因此Grails自然是一个不错的选择。起初,我考虑过使用Spring,JPA和Hibernate,但是我以前已经使用过它,并且遇到了各种各样繁琐的配置和编码工作。Grails在解决这一问题时做广告。 我对Grails的最大挫败是所有无法使用的小东西。我的意思是,它不像人们直觉上认为的那样起作用。边缘很粗糙。我经常遇到问题。有时是因为我对Grails缺乏了解-有时我发现了合法的Grails错误。 一个主要问题是缺乏良好的Eclipse集成。有一个Groovy和Grails插件,但是除了语法突出显示之外,它没有做其他的事情。从Java调用Groovy进行配置非常困难,反之亦然。没有良好的IDE支持是一个大麻烦。 发生的事情是我坐下来尝试开发Web应用程序。最终,我意识到我花了大约85%的时间来调试与Grails相关的问题。如果不是Eclipse问题,那就急于加载,获取视图,一对多关系,怪异的空文件bug行为,怪异的属性/获取方法bug-不断地发生着。这只是我今天遇到的问题的一个示例。我与Grails的最后一次坐坐产生了许多不同的问题。 有时我想知道这是否值得。我很好奇其他人是否经历过这种情况。实际有人在使用Grails高效地创建Web应用程序吗?我应该考虑其他用于快速Web开发的框架吗?
87 java  grails 


8
Grails vs Roo-为什么SpringSource推出两项非常相似的技术?
SpringSource(现为VMWare)具有两种非常相似的技术:Grails和Spring Roo。我一直在使用Grails,但是我看到SpringSource正在积极致力于这项技术的竞争者,这让我担心Grails的未来。 有谁知道这些技术之间的关系,是要合并这些技术,还是将其中一种技术抛弃? 此外,Grails和Roo之间是否有重要的技术区别?

21
Grails(现在)值得吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 12个月前关闭。 改善这个问题 我知道这是重复的,但是,自从一年多前提出这个问题以来,Grails世界已经有了长足发展,Eclipse中的IDE支持也是如此,所以请不要盲目关闭它。 我以为答案是肯定的,并且已经开始使用Grails 1.2.0进行新项目,并且对STS Eclipse Integration的Groovy / Grails情有独钟。 我认为在经过一年的Grails演变之后,这个问题肯定是混杂的,值得重新讨论这个问题。 因此,作为一名经验丰富的Java Web开发人员,我有以下问题,并且很欣赏我的假设受到挑战: Grails现在值得与Ruby对抗还是自己动手? 它克服了越野车的起步吗? 它真的赋予快速发展利益吗? (我承认我现在正在努力地进行广泛的基准配置,以使我的定制应用程序不是面向列表和页面的) 它可用于现实世界的生产应用程序吗? (感觉很重) Eclipse插件是否比以前更好并且适合特定目的?(我认为还没有) 谢谢 编辑: 我正在学习中,我对使用框架有很多重要的了解-而不是框架本身。我添加这些内容是因为我认为它们应该作为考虑因素,并基于我的经验和观点,并且可能会帮助试图决定是否放牧的人。我可能还显示出我缺乏该框架的经验,因此,这些都不是一成不变的批评。我是一位经验丰富的开发人员,这是我所发现的: 调试真的很难。实际上,这几乎是不可能的,尤其是对于框架的初学者而言,这是您最需要可信赖的调试器朋友的时候。我花了更多的时间来跟踪代码中某些部分的语法错误问题,这涉及到引用导致堆栈中某些地方出现静默故障的域字段。 坦率地说,日志记录很糟糕。您有两种模式,“无用”和“大量无用的东西”。单个页面请求后,我的调试日志为128Mb,其中不包含有关我的错误的信息。我认为整个日志记录问题都需要在框架中重新考虑。 STS Eclipse IDE具有边际价值。除了语法提示以外,它没有太多用处。您无法调试代码,因此它是出色的编辑器。代码提示是不完整的,据我所知,根本没有GSP支持。这也是我桌面上最慢的Eclipse插件-大约需要2分钟才能启动。令人震惊的缓慢。我已经恢复到文本编辑器(您会注意到所有在线教程视频也都这样做)和一些自定义语法提示。 我对性能有一些严重的担忧。现在说还为时过早,但是由于休眠,我已经发现自己正在调整数据库。也许这是意料之中的,但是我真的必须保持我的域模型简单,以使约定产生性能查询。 最后一点,关于逻辑域模型和物理数据库模型应该相同的约定不是明智的默认选择,在现实世界中不可能如此。我知道您可以将两者分开,但这会造成一定程度的复杂性,我认为如果扩展约定,可以避免。没有足够的文档来说明合成以及在实际操作中需要做什么。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.