David.Ko

          Follow my heart!
          posts - 100, comments - 11, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          搭建Grails開發(fā)環(huán)境

          Posted on 2009-10-13 10:40 David.Ko 閱讀(1243) 評論(0)  編輯  收藏 所屬分類: Groovy&Grails
          1、JDK安裝。
          2、到官網(wǎng)上下載grails。http://www.grails.org/Download
          3、解壓,配置GRAILS_HOME,Path
          4、在命令行輸入:grails。如果出現(xiàn)幫助信息,說明安裝成功。
          5、開始應(yīng)用程序。
          選擇一個(gè)工作目錄,在命令行輸入:grails create-app demo。
          會(huì)在當(dāng)前目錄下生成一個(gè)demo文件夾,里面有自動(dòng)生成的好多文件,這就是一個(gè)grails項(xiàng)目。
          The "create-app" target created a Grails data source artifact for you in the "<..>/grails-app/conf" directory called DataSource.groovy with closures for each of the standard environments: Development, TestData, and Production.
          這就是一個(gè)可運(yùn)行的web項(xiàng)目。輸入: grails run-app
          在瀏覽器輸入:http://localhost:8080/demo
          6、cd 到demo目錄,在命令行輸入:grails create-domain-class User,創(chuàng)建一個(gè)User實(shí)體類。
             cd到demo\grails-app\domain目錄下,這里存放所有的實(shí)體類。修改User.groovy文件為:
          class   User {
          String name
          String password

          String toString() {
          " $name : $password "
          }

          static constraints = {
          name(blank: false )
          password(blank: false , size: 6 .. 16 )
          }
          7、在命令行輸入:grails generate-all User。為User產(chǎn)生所有CRUD操作需要的代碼(如控制器UserController.groovy)和頁面(如list.gsp)
          8、輸入:
          grails create-controller Login生成控制器
          9、修改demo\grails-app\controllers\LoginController.groovy的內(nèi)容為:
          class LoginController {
          def loginService

          def index = { }

          def login = {
          User u = new User()
          u.properties = params
          if (params.name && params.password) {

          def user = loginService.check(u)

          if (user) {
          flash.message = "Welcome ${user.name}"
          render(view: "ok", model: [user: user])
          } else {
          flash.error = "Invalid ${u.name} with ${u.password}"
          render(view: "login", model: [user: u])
          }
          } else {
          render(view: "login", model: [user: u])
          }
          }
          }
          10、輸入:grails create-service Login。創(chuàng)建業(yè)務(wù)邏輯。
          11、修改demo\grails-app\services\LoginService.groovy的內(nèi)容為:
          class LoginService {

          boolean transactional = true

          def check(User u) {
          def user = User.findWhere(name: u.name, password: u.password)
          return user
          }

          def serviceMethod() {
          // TODO
          }
          }
          12、修改demo\grails-app\conf\ApplicationBootStrap.groovy,將一個(gè)User實(shí)例保存到數(shù)據(jù)庫(grails自帶hsqldb和jetty)中,內(nèi)容如下:
          class ApplicationBootStrap {

          def init = { servletContext ->
          new User(name: "demo", password: "123456").save()
          }
          def destroy = {
          }
          }
          13、在“命令行”中,輸入“grails run-app”,運(yùn)行我們的Web應(yīng)用

          14、打開瀏覽器,輸入:http://localhost:8080/demo/login/login ,在Name處輸入demo,Password處輸入123456,點(diǎn)擊‘Login’,

          主站蜘蛛池模板: 太和县| 杭锦旗| 吴江市| 仙桃市| 沙河市| 墨竹工卡县| 三穗县| 和林格尔县| 琼海市| 石城县| 通城县| 庆安县| 朝阳区| 永登县| 灵璧县| 尖扎县| 茂名市| 庆安县| 宾川县| 荣成市| 河北区| 郎溪县| 哈密市| 和龙市| 岳普湖县| 衡山县| 汽车| 塔河县| 滨州市| 来凤县| 甘泉县| 横山县| 张家港市| 常宁市| 永城市| 临沂市| 西华县| 鄱阳县| 阿城市| 历史| 江门市|