Thai Quick Start

วิธีใช้อย่างย่อ

สร้างโปรเจ็ค Grails

เมื่อทำการติดตั้ง Grails แล้ว คุณสามารถใช้ target ที่เตรียมไว้ให้สำหรับสร้างโปรเจ็คใหม่ได้ดังนี้:

grails create-app

ตัว target จะถามชื่อโปรเจ็คที่ต้องการจะสร้าง และจะได้โครงสร้างของโปรเจ็คตามที่เห็นด้านล่าง:

%PROJECT_HOME%
    + grails-app
       + conf                 ---> ตำแหน่งสำหรับเก็บ artifacts เพื่อการปรับแต่ง เช่น data sources
       + controllers          ---> ตำแหน่งสำหรับเก็บ controller artifacts
       + domain               ---> ตำแหน่งสำหรับเก็บ domain classes
       + i18n                 ---> ตำแหน่งสำหรับเก็บไฟล์ข้อความเพื่อการทำ i18n
       + services             ---> ตำแหน่งสำหรับเก็บ services
       + taglib               ---> ตำแหน่งสำหรับเก็บ tag libraries
       + views                ---> ตำแหน่งสำหรับเก็บ views
           + layouts          ---> ตำแหน่งสำหรับเก็บ layouts
   + lib
   + spring                   ---> เก็บไฟล์ปรับแต่งสำหรับ spring (ไม่บังคับ)
   + hibernate                ---> เก็บไฟล์ปรับแต่งสำหรับ hibernate (ไม่บังคับ)
   + war
       + WEB-INF

ปรับแต่งแหล่งข้อมูล (Data Source) (ไม่บังคับ)

ตัว target "create-app" จะสร้างกลุ่มไฟล์ (เรียกกันว่า artifacts) แหล่งข้อมูลสำหรับ Grails ไว้ให้ในไดเร็กทอรี่ "<..>/grails-app/conf" ซึ่งจะตั้งค่าโดยปริยายไว้เป็น HSQLDB แบบ in-memory (เหมาะสำหรับทดสอบ แต่อาจจะไม่มีประโยชน์นักในการนำไปใช้จริง) ดังนั้นขั้นตอนนี้จึงไม่บังคับว่าต้องทำตาม:

ApplicationDataSource.groovy
class ApplicationDataSource {
   @Property String url = "jdbc:hsqldb:mem:testDB"
   @Property String driverClassName = "org.hsqldb.jdbcDriver"
   @Property String username = "sa"
   @Property String password = ""
}

การปรับแต่งแหล่งข้อมูลสามารถทำได้ง่าย ๆ ด้วยการแก้ไขค่าโดยระบุฐานข้อมูลและไดรเวอร์ที่ต้องการจากนั้นก็นำไฟล์ jar ของไดรเวอร์ไปวางไว้ในไดเร็กทอรี่ <..>/lib

สร้างคลาสโดเมน

ต้องมั่นใจก่อนว่าคุณอยู่ในไดเร็กทอรี่ของโปรเจ็ค (ตัวอย่างเช่น "my-project") โดยพิมพ์ "cd my-project" แล้วรัน target "grails create-domain-class" จากนั้นป้อนชื่อของคลาสโดเมนที่ต้องการ คลาสโดเมนจะเป็น artifact แบบ persistent และโดยปกติ properties ทั้งหมดของคลาสนี้จะเก็บลงฐานข้อมูล (สามารถดูรายละเอียดเพิ่มเติมจากส่วนของ GORM (Grails Object Relational Mapping) ):

Book.groovy
class Book {
    @Property Long id
    @Property Long version

    @Property String title
    @Property String author
}

เมื่อถึงจุดนี้คุณอาจจะต้องการสร้างข้อมูลทดสอบ ตำแหน่งในการวางที่เหมาะสำหรับข้อมูลทดสอบจะอยู่ที่ closure "init" ของคลาสตัวเริ่มแอพพลิเคชั่น (application bootstrap) ของ Grails ซึ่งสามารถพบได้ใน "<..>/grails-app/conf":

new Book(author:"Stephen King",title:"The Shining").save()
new Book(author:"James Patterson",title:"Along Came a Spider").save()

สร้างตัวควบคุมและตัวแสดง

ตัวควบคุมหรือ controller เป็นศูนย์กลางของ Grails แอพพลิเคชั่น เราใช้ตัวควบคุมจัดการการร้องขอ (web request) และ URL ของการร้องขอจะจับคู่ไปยังคลาสที่เป็นตัวควบคุมและ closure ที่อยู่ในคลาสนั้น ๆ์

รัน target "grails generate-all" และป้อนชื่อคลาสโดเมนที่ต้องการ ในตัวอย่างเราพิมพ์ "book" เพื่อให้ Grails สร้างตัวควบคุมและตัวแสดงผลอีกจำนวนหนึ่งสำหรับกระบวนการ CRUD ซึ่งใช้ การขึ้นโครง.

เริ่ม Grails

เมื่อจะเริ่มรันตัวโปรเจ็คที่เป็น Grails แอพพลิเคชั่น ให้รัน target ต่อไปนี้

grails run-app

คำสั่งนี้จะเป็นการเริ่มโปรแกรม Jetty servlet engine ให้รันบนพอร์ต 8080 หากต้องการเปลี่ยนไปใช้พอร์ตอื่นเช่น 9090 ให้ใช้คำสั่ง grails -Dserver.port=9090 run-app จากนั้นเราจะสามารถเข้าไปยังหน้าสำหรับแสดงรายการหนังสือได้โดยเปิดบราวเซอร์แล้วพิมพ์:

http://localhost:8080/my-project/book/list

หรือถ้า closure "list" เป็น action โดยปริยายของ BookController แล้วคุณก็สามารถพิมพ์แค่:

http://localhost:8080/my-project/book

 

Labels

 
(None)