'grails'에 해당되는 글 16건
- 2014.07.13 [미완] 권한 관리 - 틀 만들기, Grails
- 2014.02.10 [Grails] 파일 업로드 - 여러 개의 파일을 첨부(데이터베이스에 저장)
- 2014.02.07 [Grails] Calendar Plugin 사용하기
- 2014.02.04 Grails 정렬 방법
- 2013.02.09 STS 설치 - Grails 플러그인 추가
- 2012.12.30 [Grails] Database Console
- 2012.12.29 [Grails] 게시판 만들기 1
- 2012.12.29 Grails - 2.2.0
- 2012.12.19 Grails - Installation
- 2011.10.22 Grails - 1.3.7
- 2010.06.12 [Getting Started with Grails] 1. Introduction, 2. Installing Grails
- 2010.03.20 Building Twitter with Grails in 40 Minutes
- 2010.03.01 [Grails] 포트 변경
- 2009.04.10 [IBM dWs] Grails 마스터하기: GORM: 재미있는 이름, 진지한 기술
- 2009.04.06 Grails - 서버 재시작시 데이터 삭제되지 않게 하기
- 2009.03.06 [IBM dWs] Grails 마스터하기: 첫 번째 Grails 애플리케이션 구축하기
- 2014. 7. 13. 16:58
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
내용을 보시려면 비밀번호를 입력하세요.
- [Grails] 파일 업로드 - 여러 개의 파일을 첨부(데이터베이스에 저장)
- 日常茶飯事
- 2014. 2. 10. 02:00
- [Grails] Calendar Plugin 사용하기
- 日常茶飯事
- 2014. 2. 7. 00:06
http://grails.org/plugin/calendar
start가 Date형으로 선언되어 있으면 Grails가 알아서 처리해 준다. (start를 display:false로 해서 등록 화면에서 나타나지 않게 해야 함.)
> grails install-plugin calendar
start가 Date형으로 선언되어 있으면 Grails가 알아서 처리해 준다. (start를 display:false로 해서 등록 화면에서 나타나지 않게 해야 함.)
- Grails 정렬 방법
- 日常茶飯事
- 2014. 2. 4. 14:15
- mapping 블럭에서 정렬하기
1.1+
- Criteria에서 정렬한다.
- SortedSet - Comparable 사용
- list()에 들어가는 params에 정렬 속성을 넣는다.
이러면 GSP의 sortableColumn 태그에 적용이 된다.
- listOrderBy*
사용예
1.1+
- Criteria에서 정렬한다.
- SortedSet - Comparable 사용
- list()에 들어가는 params에 정렬 속성을 넣는다.
이러면 GSP의 sortableColumn 태그에 적용이 된다.
- listOrderBy*
사용예
- STS 설치 - Grails 플러그인 추가
- 日常茶飯事
- 2013. 2. 9. 22:21
- STS 다운로드
zip 파일로 된 배포본을 다운로드받고 압축을 푼다.
- Grails 플러그인 추가
zip 파일로 된 배포본을 다운로드받고 압축을 푼다.
- Grails 플러그인 추가
- Grails requires a JDK
Grails 프로젝트 생성시 JDK를 필요로 하면 Installed JREs에서 설정한다. - [Grails] Database Console
- 日常茶飯事
- 2012. 12. 30. 00:21
- [Grails] 게시판 만들기 1
- 日常茶飯事
- 2012. 12. 29. 04:15
- 시작
- 스캐폴딩
EntryContoller를 클릭하면 404에러가 난다.
EntryContoller.groovy
다시 호출해본다.
아직은 입력 필드가 없다.
- 도메인 생성
Entry.groovy
- stats 로 확인
> mygrails create-app blog
> cd blog
> grails //start mygrails
grails> create-domain-class com.sample.blog.Entry
grails> create-controller com.sample.blog.Entry
grails> run-app
> cd blog
> grails //start mygrails
grails> create-domain-class com.sample.blog.Entry
grails> create-controller com.sample.blog.Entry
grails> run-app
- 스캐폴딩
EntryContoller를 클릭하면 404에러가 난다.
EntryContoller.groovy
다시 호출해본다.
아직은 입력 필드가 없다.
- 도메인 생성
Entry.groovy
- stats 로 확인
- Grails - 2.2.0
- 日常茶飯事
- 2012. 12. 29. 03:55
Grails가 버전이 올라가면서 많은 부분이 바뀌었다.
개발환경에 대화형 모드를 사용했고
자동 완성 기능도 지원한다. Grails 명령어만 지원하는게 아니고, 패키지명에도 지원된다.
HSQLDB 대신 H2를 사용함. 1Database Console 제공
UI도 변경되었음.
기본적으로 jQuery를 사용
그리고 메세지가 한글이 지원된다. 2
- Hello World Example
개발환경에 대화형 모드를 사용했고
자동 완성 기능도 지원한다. Grails 명령어만 지원하는게 아니고, 패키지명에도 지원된다.
HSQLDB 대신 H2를 사용함. 1Database Console 제공
UI도 변경되었음.
기본적으로 jQuery를 사용
그리고 메세지가 한글이 지원된다. 2
- Hello World Example
> grails create-app helloworld
> cd helloworld
> grails
grails> create-controller hello
> cd helloworld
> grails
grails> create-controller hello
grails-app/controllers/helloworld/HelloController.groovy
def index() { render "Hello World!" }
grails> run-appdef index() { render "Hello World!" }
- Grails - Installation
- 日常茶飯事
- 2012. 12. 19. 21:13
- Download, extract the archive
- Set GRAILS_HOME, JAVA_HOME environment variables
- Add $GRAILS_HOME/bin/ to PATH
- Type grails -version to check installation
- Grails - 1.3.7
- 日常茶飯事
- 2011. 10. 22. 07:58
- Grails Quick Start
- Create project
- Create Domain class
D:\reps\grails_workspace\bookstore\grails-app\domain\bookstore\Book.groovy
D:\reps\grails_workspace\bookstore\grails-app\controllers\bookstore\BookController
http://localhost:8080/bookstore/
- 프로젝트 이름에 -, .을 사용하지 말것.
trip-planner : domain, controller는 trip/planner/로 생기는데 view는 trip/만 생김
trip.planner : 상동
tripPlanner : tripplanner/로 생김
- Create project
> grails create-app bookstore
> cd bookstore
> cd bookstore
- Create Domain class
> grails create-domain-class Book //패키지를 지정하지 않으면 프로젝트명으로 패키지가 구성된다.
> grails create-domain-class com.example.Book
> grails create-domain-class com.example.Book
D:\reps\grails_workspace\bookstore\grails-app\domain\bookstore\Book.groovy
package bookstore class Book { String title String author }- Create controller
>
grails create-controller Book
D:\reps\grails_workspace\bookstore\grails-app\controllers\bookstore\BookController
package bookstore class BookController { // def index = { } def scaffold = Book }- Run Application
> start grails run-app
http://localhost:8080/bookstore/
- 프로젝트 이름에 -, .을 사용하지 말것.
trip-planner : domain, controller는 trip/planner/로 생기는데 view는 trip/만 생김
trip.planner : 상동
tripPlanner : tripplanner/로 생김
- [Getting Started with Grails] 1. Introduction, 2. Installing Grails
- 日常茶飯事
- 2010. 6. 12. 14:12
1. Introduction
Grails는 Spring, Hibernate등을 이용한 오픈소스 웹 어플리케이션 프레임워크다.
달리기 클럽을 위한 RaceTrack이라는 웹 어플리케이션을 만들고 이 어플리케이션을 확장시켜 본다.
2. Installing Grails
JDK 1.5 필요
여기서는 Grails 1.2 사용
- 설치방법
압축을 풀고 , GRAILS_HOME 환경변수를 잡고, GRAILS_HOME/bin을 PATH에 추가한다.
Grails는 HSQLDB를 내장하고 있다.
이 책에서는 나중에 MySQL을 사용한다.
Grails는 Spring, Hibernate등을 이용한 오픈소스 웹 어플리케이션 프레임워크다.
달리기 클럽을 위한 RaceTrack이라는 웹 어플리케이션을 만들고 이 어플리케이션을 확장시켜 본다.
2. Installing Grails
JDK 1.5 필요
여기서는 Grails 1.2 사용
- 설치방법
압축을 풀고 , GRAILS_HOME 환경변수를 잡고, GRAILS_HOME/bin을 PATH에 추가한다.
Grails는 HSQLDB를 내장하고 있다.
이 책에서는 나중에 MySQL을 사용한다.
- Building Twitter with Grails in 40 Minutes
- 日常茶飯事
- 2010. 3. 20. 15:25
- [Grails] 포트 변경
- 日常茶飯事
- 2010. 3. 1. 00:03
> grails -Dserver.port=9090 run-app
또는
$GRAILS_HOME/scripts/Init.groovy
serverPort = System.getProperty('server.port') ? System.getProperty('server.port').toInteger() : 8080
또는
$GRAILS_HOME/scripts/_GrailsSettings.groovy
수정 (2011-11-04 추가, Getting Started with Grails)
- [IBM dWs] Grails 마스터하기: GORM: 재미있는 이름, 진지한 기술
- 日常茶飯事
- 2009. 4. 10. 00:13
- Grails 마스터하기: GORM: 재미있는 이름, 진지한 기술
- Mastering Grails: GORM: Funny name, serious technology
- 일대다 관계 만들기
Law of Leaky Abstractions, hasMany 설정, naked object pattern
(이 방법 말고 다른 방법은 없나? 디버깅 때문에)
- static constraints
필드 순서 지정
데이터 유효성 검증(grails-app/i18n/messages.properties)
- GORM DSL
하이버네이트 HBM 매핑이나 어노테이션을 사용할 수도 있지만 Grails는 static mapping에서 한다.(naked-object 방식)
레거시 테이블 사용시 유용
- DataSource.groovy
새로운 환경을 추가할 수 있다.
dbCreate 설정(hibernate.hbm2ddl.auto)
create-drop, create, update
데이터베이스 변경
- Mastering Grails: GORM: Funny name, serious technology
- 일대다 관계 만들기
Law of Leaky Abstractions, hasMany 설정, naked object pattern
class Trip{ String name String city ... Airline airline //object composition } class Airline{ static hasMany = [trip:Trip] ... }- PK가 노출되는 것을 막기 위해 toString()를 재정의
(이 방법 말고 다른 방법은 없나? 디버깅 때문에)
- static constraints
필드 순서 지정
데이터 유효성 검증(grails-app/i18n/messages.properties)
- GORM DSL
하이버네이트 HBM 매핑이나 어노테이션을 사용할 수도 있지만 Grails는 static mapping에서 한다.(naked-object 방식)
레거시 테이블 사용시 유용
- DataSource.groovy
새로운 환경을 추가할 수 있다.
dbCreate 설정(hibernate.hbm2ddl.auto)
create-drop, create, update
데이터베이스 변경
- Grails - 서버 재시작시 데이터 삭제되지 않게 하기
- 日常茶飯事
- 2009. 4. 6. 00:35
> grails prod run-app //prodDb.script 에 데이터가 저장된다.
grails-app/conf/DataSource.groovy에서 development 설정을 production 과 동일하게 둔다.hsqldb를 사용하므로 파일에 저장되도록 한다.
dbCreate = "create-drop" //update 로 수정한다.
url = "jdbc:hsqldb:mem:devDB" //jdbc:hsqldb:file:devDB;shutdown=true 로 수정한다. devDB.script 에 데이터가 저장된다.
url = "jdbc:hsqldb:mem:devDB" //jdbc:hsqldb:file:devDB;shutdown=true 로 수정한다. devDB.script 에 데이터가 저장된다.
또는 서버 시작시 데이터를 넣는다.
conf/BootStrap.groovy
class BootStrap {
def init = { servletContext ->
new Book(author:"Stephen King",title:"The Shining").save()
new Book(author:"James Patterson",title:"Along Came a Spider").save()
}
def destroy = {
}
}
def init = { servletContext ->
new Book(author:"Stephen King",title:"The Shining").save()
new Book(author:"James Patterson",title:"Along Came a Spider").save()
}
def destroy = {
}
}
- 참고 : each문 사용
class BootStrap {
def init = { servletContext ->
if(GrailsUtil.environment == "development"){
new Tag(name:"Work").save()
new Tag(name:"Home").save()
new Tag(name:"Study").save()
def admin = new User(userId:"admin", password:"grails").save()
def testUser = new User(userId:"test", password:"test").save()
def testUser2 = new User(userId:"testA", password:"test").save()
(1..11).each{
new Entry(title:"$it", content:"content$it", user:admin).save()
}
new Entry(title:"test", content:"content", user:testUser).save()
new Entry(title:"123", content:"456", user:testUser2).save()
}
}
def destroy = {
}
}
- [IBM dWs] Grails 마스터하기: 첫 번째 Grails 애플리케이션 구축하기
- 日常茶飯事
- 2009. 3. 6. 06:34
- Installation
- Sample
Browse to http://localhost:8080/trip-planner
- 포트 변경
- 동적 스캐폴딩
trip-planner/grails-app/controllers/TripController.groovy
- 참고자료
IBM developerWorks : Grails 마스터하기
NetBeans : Introduction to the Grails Web Framework
[Grails1.0 사용자 가이드] 전체 목록
Grails Korean Home
- Sample
> grails create-app trip-planner
> cd trip-planner
> grails create-domain-class Trip
Add member variable to grails-app/domain/Trip.groovy
> grails generate-all Trip
> grails run-app
> cd trip-planner
> grails create-domain-class Trip
Add member variable to grails-app/domain/Trip.groovy
> grails generate-all Trip
> grails run-app
Browse to http://localhost:8080/trip-planner
- 포트 변경
- 동적 스캐폴딩
trip-planner/grails-app/controllers/TripController.groovy
class TripController{
def scaffold = Trip
}
전체 코드 15줄(grails stats 로 확인가능)로 CRUD 기능을 처리하는 웹어플리케이션을 작성할 수 있다.def scaffold = Trip
}
- 참고자료
IBM developerWorks : Grails 마스터하기
NetBeans : Introduction to the Grails Web Framework
[Grails1.0 사용자 가이드] 전체 목록
Grails Korean Home
Recent comment