![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
grails
foxhk
这个作者很懒,什么都没留下…
展开
-
grails中不经过Domain调用SQL
第一步:在grails工程中打开grails-app\conf\Config.groovy文件,在文件的最后加上如下代码:gsql_connector { c_url="jdbc:mysql://localhost:3306/snmp?useUnicode=true&characterEncoding=UTF-8" username="root" password="root"...原创 2010-09-19 16:13:04 · 127 阅读 · 0 评论 -
SiteMesh和自定义局部模板
在index.gsp页面会发现部分中的标签[code="java"] Welcome to Grails//告诉你有一个名为main.gsp的模板在grails-app/views/layouts目录下 [/code]注:Grails用到了一个流行的模板库,叫做SiteMesh,就是把两个GSP给拼接到一起,它是一种Grails把公共行为...原创 2010-11-19 08:45:21 · 147 阅读 · 0 评论 -
创建自定义标签
既然Grails已经提供了大量标签,那么你也应该不会对可以创建自已怕标签感惊讶。可能让你感到意外的是创建它非常容易。1.创建自定义标签命令行输入grails create-tag-lib Footer,它会在grails-app/taglib目录下创建一个FooterTagLib.groovy空模板,它也会创建相应的测试类。[code="java"]class FooterTagLib...原创 2010-11-19 09:15:43 · 86 阅读 · 0 评论 -
安装grails模板
要想真正得到grails的内部工作零件,输入[b]grails install-templates[/b]。这个命令会告诉grails为所有视图,控制器,领域类,标签类等能够定制的组件创建模板代码。检查src/templates,你可以了解所有这些文件的样板代码和细节。可以对模板中的领域类进行修改:src/templates/artifacts/DomainClass.groovy[c...原创 2010-11-19 10:44:40 · 92 阅读 · 0 评论 -
创建口令编解码器(Codec)
编解码器(Codec)(编码器-解码器的缩写)是转换字符串的一种方法。Grails提供了大量便捷的编解码器,而且已经元编程到了所有字符串实例上。例如:[code="java"]"Hello".encodeAsHTML()返回<p>Hello</p>"You&Me".encodeAsURL()返回You+%26+Me"ABC123".encodeAsB原创 2010-11-19 14:44:09 · 161 阅读 · 0 评论 -
创建认证标签库
大多数公共网站都在首部的右上角有一个不醒目的登录链接。下面是创建这个链接的方法:1.命令行输入grails create-tag-lib Login2.会在grails-app/taglib目录下生成LoginTagLib.groovy编辑这个类[code="java"]package racetrackclass LoginTagLib { def loginCont...原创 2010-11-19 15:05:19 · 60 阅读 · 0 评论 -
beforeInterceptor
对于UserController进行控制,只允许管理员创建新用户利用beforeInterceptor如下:[code="java"]class UserController { def beforeInterceptor=[action:this.&auth,except:['login','logout','authenticate']] def auth(){...原创 2010-11-19 15:42:09 · 153 阅读 · 0 评论 -
过滤器
从与单个控制器打交道更进一步,把安全应用到所有控制器。要完成这一点,我们需要创建过滤器。1.创建过器滤器命令行输入grails create-filters Admin2.会在grails-app/conf下生成AdminFilters.groovy这个例子是把all过滤器更名为adminOnly,任何可能更新记录的调用都被限制为登录的管理员才能操作。[code="java"]...原创 2010-11-19 16:06:30 · 68 阅读 · 0 评论 -
grails插件
1.安装插件命令行输入grails install-plugin 插件名插件被下载到了你的主目录下的.grails目录。下一次在其他项目中安装searchable插件时,Grails会检查是否存在最新版本,若是没有,Grails就从.grails缓存中安装,而不是从互联网。2.插件的内容可以在.grails/1.2.0/projects/工程名/plugins中找到...原创 2010-11-22 09:19:34 · 83 阅读 · 0 评论 -
使用URL映射(UrlMapping)改变主页
在grails-app/conf/UrlMapping.groovy中可以改变映射[code="java"]class UrlMappings { static mappings = { "/$controller/$action?/$id?"{ constraints { // apply constraints here } } "/...原创 2010-11-22 09:22:32 · 211 阅读 · 0 评论 -
产品部署
产品部署检查清单1.确认grails-app/conf/DataSource.groovy中的数据库连接。要是待部署应用服务器可以通过JNDI提供数据库连接,你可以把用户名,口令和URL各变量换成一个jndiName变量:[code="java"]production{ dataSource{ jndiName="java:comp/env/jdbc/myData...原创 2010-11-22 09:46:29 · 191 阅读 · 0 评论 -
内置数据库之迷
对grails的内置数据库,刚开始接触会很奇怪,为什么每次启动服务器,创建的数据都没有了。原因:1.grails内置的数据库是hsqldb2.查看grails-app/conf/DataSource.groovy文件[code="java"]dataSource { //数据源的公共部分 pooled = true driverClassName = "or...原创 2010-11-17 18:00:04 · 107 阅读 · 0 评论 -
一个简单的应用(用内置数据库)
领域类:1.Race.groovy[code="java"]package com.rtclass Race { String name Date startDate String city String state BigDecimal distance BigDecimal cost Integer maxRunners=100000 ...原创 2010-11-17 16:17:02 · 77 阅读 · 0 评论 -
grails中遍历时的索引
例:List tests=new ArrayList() tests.add ('test1') tests.add ('test2') tests.add ('test3') StringBuffer buf=new StringBuffer() buf.append("{items:[") int i=0 tests.e...原创 2010-09-19 16:24:59 · 195 阅读 · 0 评论 -
Springsource Tool Suite安装ExtJS插件–Spket IDE
Springsource Tool Suite安装ExtJS插件–Spket IDESpket IDE是目前支持Ext 2.0最为出色的IDE。 它采用.jsb project file 文件并将继承于基类和所有文档的内容嵌入到生成代码提示的Script doc中。 由于Spket只是一个单纯的编辑器,没有其它格式的支持(如CSS),所以我的做法是用它的Eclipse插件形式, 启...原创 2010-09-21 14:09:57 · 104 阅读 · 0 评论 -
grails中的事务处理
domain类如下:package com.ltclass Book { String bookName double bookPrice static constraints = { }}service类如下:package com.ltimport com.lt.Book import java.sql.Driver...原创 2010-09-27 14:33:53 · 276 阅读 · 0 评论 -
改变tomcat端口
运行grails工程时,有时会出现tomcat的8080端口被占用:解决方法:一.命令行中输入:grails -Dserver.port=9090 run-app二.可以在$GRAILS_HOME/scripts/_GrailsSettings.groovy找到serverPort = getPropertyValue("server.port", 8080).toInteger(...原创 2010-11-16 16:20:29 · 59 阅读 · 0 评论 -
关于领域类中的特殊属性名
特殊属性名:[code="java"]class Reg { Date dateCreated //Grails将自动在第一次向数据库保存实例时填上这个值 Date lastUpdated //Grails将在每次更新数据到数据库时填上这个值 static mapping={ autoTimestamp false //关闭时间自动保存 }...原创 2010-11-16 17:21:21 · 78 阅读 · 0 评论 -
领域类中的static mapping方法生命周期事件
static mapping方法不只是做些关闭时间自动生成,数据库表与类,字段与属性的映射之外,还可以做如下事情:一.想返回一个Domain类按日期排序[code="java"]class Reg { Date startDate //其它属性略 static mapping={ sort "startDate" }}[/code]二...原创 2010-11-16 17:32:41 · 254 阅读 · 0 评论 -
指定字段的顺序
[code="java"]class Reg{ String name int age String birthday //通过constraints闭包指定字段顺序 static constraints = { name() age() birthday() }}[/code]...原创 2010-11-17 10:59:25 · 99 阅读 · 0 评论 -
增加约束
[code="java"]class Reg{ String name int age //通过constraints闭包增加对字段约束 static constraints = { name(blank:false, maxSize:50) age(min:1,max:150) }}[/code]...原创 2010-11-17 11:05:08 · 83 阅读 · 0 评论 -
编写测试类
当创建领域类时,会同时生成测试类在test/unit目录下可以找到当你在生成的测试类中编写好测试代码时,命令行中进入工程目录,输入:grails test-app 则会在控制台打出测试结果,也可以在target/test-reports/html目录下用IE打开index.html,会看到工程的所有测试类测试结果,如果只想测试单个类,如:Race,则在命令行中输入:grails tes...原创 2010-11-17 13:31:09 · 596 阅读 · 0 评论 -
自定义验证器
在test/integration目录中,建一个集成测试类代码如下:[code="java"]package com.rtimport groovy.util.GroovyTestCase;class RaceIntegrationTests extends GroovyTestCase { void testRaceDatesBeforeToday(){...原创 2010-11-17 14:26:35 · 66 阅读 · 0 评论 -
一对多或多对多时多的一方排序问题
最权威的资料也就是官网了,如果英文好的话可访问下如下URL[url]http://www.grails.org/GORM+-+Collection+Types[/url]其实在grails中配置很简单在一的一方需要增加SortedSet[code="java"]static hasMany=[slms:LtSlm] SortedSet slms[/code]在多的一方需...原创 2010-12-08 16:35:33 · 212 阅读 · 0 评论