![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Groovy & Grails
文章平均质量分 79
ljzdiamond
这个作者很懒,什么都没留下…
展开
-
20130115-使用Grails Shiro Plugin实现身份验证01
目标尽可能简单的使用Grails Shiro Plugin实现身份验证功能.安装Grails版本:2.1.1约定:在代码示例中,任何使用$开头,说明这是一个shell命令1 $ grails create-app shiro-example2 $ cd shiro-exampleshiro plugin最新的插件版本是1.1.4,可以使用gr原创 2013-05-17 19:32:27 · 660 阅读 · 0 评论 -
20130516-Grails In Action-4、让模型工作(02小节)
上一节了解了基本脚手架的功能以及地方化的一些内容,这一节调整脚手架的CSS布局如果只是想改变程序的外观,可以直接调整/web-app/css/main.css。这里我们调整/grails-app/views/layouts/main.gsp文件,生成一个新的布局修改/grails-app/views/layouts/main.gsp 1 DOCTYPE html> 2 html原创 2013-05-17 19:33:08 · 381 阅读 · 0 评论 -
20130515-Grails In Action-3、建模(05小节)
上一节了解了1:m的问题,现在解决最棘手的m:n的问题一般的社交网站上的post都有分类标签,一个post可以有多个标签,同样一个标签也可以打到多个post上。比如使用场景如下:一个用户可以创建多个标签一个帖子可以打上多个标签,并且每个标签可能打在多个帖子上根据这个场景,我们可以看到User和Tag是1:m的关系,Post和Tag是m:n的关系,下面我们就着手建立这两个原创 2013-05-17 19:33:01 · 334 阅读 · 0 评论 -
20130516-Grails In Action-4、让模型工作(05小节)
上一节介绍了一个基本的动态查询器是怎么工作的,grails还有很多的动态查询器,我们来建一个测试来测试一下其他查询器的工作状况1、创建一个集成测试类grails create-integration-test com.grailsinaction.QueryIntegration创建一个测试方法testBasicDynamicFinders 1 package com.原创 2013-05-17 19:33:15 · 559 阅读 · 0 评论 -
20130516-Grails In Action-4、让模型工作(04小节)
动态查询和实体查询1、实现一个简单的查询表单首先,在/grails-app/views/user/新建一个search.gsp,建立一个查询表单 1 2 3 4 Search Hubbub 5 "layout" content="main"/> 6 7 8 9原创 2013-05-17 19:33:12 · 415 阅读 · 0 评论 -
20130516-Grails In Action-4、让模型工作(03小节)
静态脚手架,生成和定制客户化代码1、首先生成静态脚手架代码方法一:grails generate-all com.grailsinaction.User这样会生成User对象的所有controller方法和view视图,如果系统中已经有User的Controller,生成时会提示是否覆盖方法二:grails generate-views com.grailsin原创 2013-05-17 19:33:10 · 408 阅读 · 0 评论 -
20130516-Grails In Action-4、让模型工作(01小节)
内容简介理解脚手架客户化脚手架动态查询器高级查询上一章花了很多时间建立领域模型,这一章就要看怎么用了。1、先给所有的模型创建控制器grails create-controller com.grailsinaction.Usergrails create-controller com.grailsinaction.Profilegrails creat原创 2013-05-17 19:33:05 · 339 阅读 · 0 评论 -
20130516-Grails In Action-3、建模(06小节)
上一节主要是对象和对象之间的关系建立,还有一种自参照关系。实际上是1:m的变体,只是多的一方参照的还是自身比如一个User可以关注其他User,就可以使用自参照建立关系1、修改Userclass User { static hasMany = [ posts : Post, tags : Tag, following : User ] ......}原创 2013-05-17 19:33:03 · 339 阅读 · 0 评论 -
20130515-Grails In Action-3、建模(04小节)
上一节建立了一个1:1的对象关系,这一节来建立一个1:m的对象关系一个用户在一个论坛上或消息发布平台上可以发布多个消息,这个场景就是一个经典的1:m关系1、建立一个Post对象grails create-domain-class com.grailsinaction.Post2、给Post对象增加属性 1 package com.grailsinaction 2原创 2013-05-17 19:32:59 · 360 阅读 · 0 评论 -
20130515-Grails In Action-3、建模(03小节)
上一节了解了怎样对对象的属性进行有效性验证以及验证的测试方法,这一节主要了解对象之间的关系1:1关系User对象主要用于登录验证操作,User对象还有一些比较杂的属性,我们单独用一个Profile对象保存,这样User和Profile之间就是1:1的关系1、增加一个Profile对象grails create-domain-class com.grailsinaction.Pr原创 2013-05-17 19:32:56 · 353 阅读 · 0 评论 -
20130515-Grails In Action-3、建模(02小节)
上一节建立一个User domain对象,这一节主要了解怎么样对对象的属性进行验证1、对象验证在User对象中增加数据验证1 static constraints = {2 userId(size:3..20, unique: true)3 password(size: 6..8)4 homepage(url: t原创 2013-05-17 19:32:54 · 327 阅读 · 0 评论 -
20130515-Grails In Action-3、建模(01小节)
内容简介什么事GORM,以及GORM怎么工作定义领域模型怎么让模型工作,如save、update验证和约束领域类的关系(1:1,1:m,m:n)建立domain对象,增加属性,以及集成测试1、创建项目grails create-app hubbub2、创建第一个domain对象grails create-domain-class com.原创 2013-05-17 19:32:52 · 391 阅读 · 0 评论 -
20130123-Grails手工增加资源文件
概述现在富客户端应用,页面代码中会引入大量的js、css文件,如,bootstrap、jquery-ui、knockout等,使用Grails的插件机制比较麻烦,首先得看有没有已经写好的插件,如果没有还要自己去写。如果有,还要看版本是否一致,如果想用新版本的资源文件,还没有插件,比较费劲。所以,可以使用Grails的resource机制,直接引入需要的资源文件即可。如果文件太大,还可以使用ja原创 2013-05-17 19:32:36 · 506 阅读 · 0 评论 -
20130117-使用Grails Shiro Plugin实现身份验证03
上一篇完成了一个完整的用户注册登录过程,本节主要记录shiro的一些标签的作用Shiro标签1、如果用户已经登录了,可以用这个标签用来输出你的信息,如登录用户的用户名Body/>2、如果用户没有登录,可以用这个标签输出信息,如注册链接Body/>3、如果在remember me或者用户已经登录,可以用这个标签获取到用户信息Body4、可以用这原创 2013-05-17 19:32:32 · 749 阅读 · 1 评论 -
20130116-使用Grails Shiro Plugin实现身份验证02
上一篇把Shiro部署到Grails上了,并且可以正常运行,虽然可以使用grails generate-all domain方式生成CRUD的脚手架增加用户或角色,但是出于业务的角度考虑,我们不希望所有人都可以增加用户信息,所以,我们新增加一个注册的功能,供没有账号的人注册自己的个人资料,而有admin权限的人可以登录到系统使用CRUD去维护这些账户信息。注册现在创建一个SignupC原创 2013-05-17 19:32:29 · 490 阅读 · 0 评论 -
20130517-Grails In Action-4、让模型工作(06小节)
1、Criteria(条件查询) Criteria可以通过createCriteria 或者 withCriteria 方法来使用 1 def user = User.findByUserId(params.user) 2 def entries = Post.createCriteria().list { 3 and { 4原创 2013-05-17 19:33:19 · 407 阅读 · 0 评论