我们正处于将基于定制开发的mvc框架构建的大型网站迁移到基于Java的Web框架的规划阶段,该框架提供对ajax,富媒体内容,mashup,基于模板的布局,验证,最大html /的内置支持java代码分离.Grails看起来是个不错的选择,但是,我们不想使用脚本语言.我们想继续使用java.基于模板的布局是一个主要问题,因为我们打算将此Web应用程序与具有类似功能但外观和外观完全不同的多个网站一起使用.
基于门户的解决方案是否适合这个问题?
任何关于使用"Spring Roo"或"Play"的见解都会非常有帮助.
我没有找到类似的职位像这样,但它是一个多岁.事情肯定在同一时间发生了变化!
编辑1:谢谢你的答案!这个网站正在成为沟内程序员信息的最佳单一来源.但是,我期待有关使用portal-cms二人组的更多信息.Jahia看起来像货物.有什么相似的吗?
我知道这是重复的,然而,Grails世界已经发生了很大的变化,因为这个问题是在一年多前提出的,就像Eclipse中的IDE支持一样,所以请不要盲目地关闭它.
我认为答案是肯定的,并且已经开始使用Grails 1.2.0进行一个新项目,并且已经调查了STS Eclipse Integration的Groovy/Grails位.
我认为这个问题值得重新审视一年后的Grails进化,当答案肯定是混合的.
因此,作为一名经验丰富的Java Web开发人员,我有这些问题,并希望我的假设受到挑战:
谢谢
编辑: 我正在学习,我有一些重要的抱怨与框架生活 - 而不是框架功能本身.我添加这些因为我认为它们应该是考虑因素并且基于我的经验和意见,并且可能帮助那些试图决定是否去学生的人.我也可能表现出我对框架缺乏经验,因此这些都不是批评的批评.我是一位经验丰富的开发人员,这是我发现的:
调试真的很难.事实上,它几乎是不可能的,特别是作为框架中的初学者,当你最需要可靠的调试器朋友时.我花了更多的时间来跟踪代码的某些部分中的语法错误问题,以及引用在堆栈中某处导致静默失败的域字段.
记录非常糟糕.你有两种模式,"没什么用处"和"过多无用的东西".单个页面请求后,我的调试日志为128Mb,并且不包含任何有关我的错误的信息.在我看来,整个日志问题需要在框架中重新考虑.
STS Eclipse IDE具有边际价值.除了语法高亮之外,它没什么用处.您无法调试代码,因此它是一个美化的编辑器.代码提示是不完整的,据我所知,根本没有GSP支持.它也是我桌面上最慢的Eclipse插件 - 大约2分钟即可启动.这是非常缓慢的.我已经恢复了文本编辑器(您会注意到所有在线教程视频也会这样做)和一些自定义语法hilighting.
我对性能有一些严重的担忧.有点太早说,但我已经发现自己因为休眠而调整了数据库.也许这是可以预料的,但我真的必须保持我的域模型简单的约定,以产生高性能的查询.
最后一个,您的逻辑域模型和您的物理数据库模型应该相同的约定不是一个明智的默认值,在现实世界中不太可能出现这种情况.我知道你可以将两者分开,但它会产生一定程度的复杂性,如果扩展惯例,我认为可以避免这种复杂性.没有足够的关于构图的文档以及您需要做些什么才能使它在实践中发挥作用.
有人能告诉我为什么这个Grails域类不会编译(在运行时)?
class Person {
String name
String getSomething(int i) {
}
}
Run Code Online (Sandbox Code Playgroud)
我运行时遇到此错误grails run-app:
2008-12-27 15:26:33.955::WARN: Failed startup of context org.mortbay.jetty.webapp.WebAppContext@187e184{/asrs2,C:\Steve\asrs2/web-app}
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at java.security.AccessController.doPrivileged(Native Method)
at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy:67)
at RunApp_groovy$_run_closure2_closure7.doCall(RunApp_groovy)
at Init_groovy$_run_closure6.doCall(Init_groovy:131)
at RunApp_groovy$_run_closure2.doCall(RunApp_groovy:66)
at RunApp_groovy$_run_closure2.doCall(RunApp_groovy)
at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:57)
at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
at gant.Gant.dispatch(Gant.groovy:271)
at gant.Gant.this$2$dispatch(Gant.groovy)
at gant.Gant.invokeMethod(Gant.groovy)
at gant.Gant.processTargets(Gant.groovy:436)
at gant.Gant.processArgs(Gant.groovy:372)
Caused by: java.lang.NullPointerException
at java.lang.Class.isAssignableFrom(Native Method)
... 13 more …Run Code Online (Sandbox Code Playgroud) 来自J2EE开发背景,我喜欢Grails的想法....使用企业Java(Spring,Hibernate等)的所有好处,但是Rails的简单性(脚手架,约定优于配置,Groovy脚本等) ).我的公司正在考虑推出一个基于Grails构建的新的企业级Web应用程序.我听说在平台的早期版本中存在稳定性和缺陷方面的一些问题.但是,自从成为Springsource的一部分以来,我似乎没有多少抱怨.
我很好奇是否有人对使用Grails进行大规模网络应用程序有任何意见或经验.它稳定吗?可靠?我应该注意哪些问题?还有其他意见吗?谢谢!
我有域类:
class Child {
static hasMany = [ toys : Toy ]
String name
Set toys
}
class Toy {
static belongsTo = [ owner : Child ]
String name
}
Run Code Online (Sandbox Code Playgroud)
在我的JSP中,我引用了一个孩子:
child = Child.findByName("Joe")
Run Code Online (Sandbox Code Playgroud)
要么
child = Child.findById(123)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问其字段时:
child.getToys()
Run Code Online (Sandbox Code Playgroud)
我收到错误:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Child.toys, no session or session was closed
Run Code Online (Sandbox Code Playgroud)
我是否需要手动启动Hibernate会话?如果是这样,我该怎么做?
后续2012年2月:从Grails控制台(Grails 2.0.0)运行时也会出现此行为
我做了一个grails clean,然后当我通过grails run-app应用程序运行永远不会启动,并重复显示以下内容(继续下去,卡在某种循环中).
我在Windows XP上运行Grails 1.0.4,Java 1.6.
Grails以某种方式陷入无效配置.知道如何恢复吗?
[groovyc] Compiling 3 source files to C:\Documents and Settings\Steve\.grails\1.0.4\projects\myproject\classes
[javac] Compiling 3 source files to C:\Documents and Settings\Steve\.grails\1.0.4\projects\myproject\classes
2008-12-28 10:40:27.549:/myproject:INFO: Destroying Spring FrameworkServlet 'grails'
[6688] spring.GrailsWebApplicationContext Closing org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1c3c6d8: display name [org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1c3c6d8]; startup date [Sun Dec 28 10:40:23 PST 2008]; parent: org.springframework.web.context.support.XmlWebApplicationContext@93912f
2008-12-28 10:40:27.549:/myproject:INFO: Shutting down log4j
[groovyc] Compiling 3 source files to C:\Documents and Settings\Steve\.grails\1.0.4\projects\myproject\classes
[javac] Compiling 3 source files to C:\Documents and Settings\Steve\.grails\1.0.4\projects\myproject\classes
2008-12-28 10:40:27.877::INFO: jetty-6.1.12
2008-12-28 …Run Code Online (Sandbox Code Playgroud)