顯示具有 grails-基本類 標籤的文章。 顯示所有文章
顯示具有 grails-基本類 標籤的文章。 顯示所有文章

2012年1月7日 星期六

[Grails](groovy)執行控制器(controller)


修改UserController程式碼:
package mytest
class UserController {
  def scaffold = User
  def index = {
   render "Hello World"
   }
 
  def foo = {
  render "Bar"
  }
}
結果:
點選controller


[Grails](groovy)創建控制器(controller)(MVC的C)


指令說明:
create-controller domain
用法:
create-controller User
結果:




2012年1月1日 星期日

[Grails](groovy)Groovy static mapping 簡單用法

static mapping 代碼區域可以用來把類名映射成另一個表名,
把字段名映射成另一個列名,
但是你還可以用它做一些其他的有趣事情。
例如,要是想返回table按某一順序排列,
可以加如下列代碼
class User{
  String name
  // ...
  static mapping = {
  "name "
  }
}


[Grails](groovy)Groovy的小數值處理

Groovy 會自動把10.5 這樣的的小數值自動裝箱(Autobox)java.math.BigDecimal 
而非你想當然的java.lang.Floatjava.lang.Double類型。
為什麼要這樣舉個大多數Java開發者都沒有意識到的一個慘通例子:
寫一個簡短的Java應用,循環10 次,每次都加上0.1
你最終會得到0.999991.000001,這要看你是存Double還是Float
使用BigDecimal,你將會每次都得到1.0,和預期的一模一樣
就是(The Principle of Least Surprise)。















其它文章

2011年12月30日 星期五

[Grails](groovy)領域類(domain)的生命週期事件

領域類(domain)的生命週期事件



這包括針對CRUD操作的四個事件回調:
onLoad、beforeInsert、befortUpdate及beforeDelete,
當執行資料庫操作時就會觸發四個方法。

onLoad在此類從資料庫中載入時被啟用。
beforeInsert在save()方法執行前被啟用。
beforeUpdate在update()方法執行前被啟用。
beforeDelete在delete()方法執行前被啟用。

domain例:

class User{
String name
// ...
def beforeInsert = {
// your code goes here
}
def beforeUpdate = {
// your code goes here
}
def beforeDelete = {
// your code goes here
}
def onLoad = {
// your code goes here
}
}


這裡對上述事件進行補充。

Grails支持GORM事件及Hibernate套件,

GORM事件的定制包括事件的註冊,在刪除、插入及更新發生時會觸發這些事件。

Hibernate的事件套件為領域模型提供了支持,
可以使用以下這些方法來對Hibernate的事件系統進行啟用:
afterInsert、afterUpdate、afterDelete、 beforeLoad、afterLoad、beforeSave及afterSave。


其它的領域層事件就是領域類的時間戳記了。
如果你提供了一對特別命名的字段(lastUpdated与dateCreated),GORM就會自動為這個類增加時間。

在Web應用的其它層上,Grails提供了Web執行事件以管理Web的執行
(從一種狀態轉化為另一種狀態)和
Ajax事件(如果Web應用中發生了某個事件就會去調用一個特定的JavaScript函數)。

Grails還支持對自動重新加載事件的攔截,
這可用來監控資源的改變,當發生變化時會重新加載資源。
這就是Grails在運行時能重新加載應用的原因。


















其它文章

2011年12月29日 星期四

[Grails](groovy)domain領域類的屬性

程式如下:
package mytest

import java.util.Date
/**
* 會員
* @author pc levin
*/
class User {
 /**
 * 名字
 */
 String name
 /**
 * 帳號名稱
 */
 String username
 /**
 * 密碼
 */
 String password
 /**
 * 年齡
 */
 Integer age
 /**
 * 生日
 */
 Date birthday
 /**
 * 薪資
 */
 BigDecimal salary
 
 //將自動在第一次向資料庫存資料時填上日期
 Date dateCreated
 //將在每次次更新後的記錄存回資料庫的時候填充回這個日期
 Date lastUpdated
 //如果不想要自動填入這二個日期用以下三行停用
// static mapping = {
//  autoTimestamp false
//  }
 //暫時不用理,後面會講
 static constraints = {
 }
}
























其它文章

[Grails](groovy)Grails-基本類目錄


建立Grails



建立Grails--domain


建立Grails--controllers



建立Grails--controllers及views


修改Grails--conf



修改Grails--i18n



建立Grails--services




建立Grails--taglib






















其它文章

[Grails](groovy)domain領域類的建立


Grails 接受這些簡單的類,並利用它們完成許多工作。
相對應的資料庫表格會自動為每個領域類(domain)創建。
控制器(controllers)和頁面(views)會依關聯領域類(domain)中的名字,
domain還可以存放驗証規則,定義一對多關系,以及包含其它許多信息的地方。

我們先建位一個User
指令:
create-domain-class User


create-domain-class com.test.User

說明:
create-domain-class 套件名.類別名
顯示以下的圖,就是成功新增一個domain




















看自己的專案的domain的資料夾下會多出你剛新增出來的groovy檔



























其它文章

[Grails](groovy)Grails專案目錄結構

Grails專案目錄結構


專案
grails-app
conf
配置文件(如資料庫、URL 映射、Spring Hibernate 配置文件等)
controllers
控制器(MVC 中的"C"
domain
領域類(MVC 中的模型的"M"。該目錄中的每个文件在資料庫中都有對應的表。)
i18n
i18n(用予錯誤消息和頁面標題及國際化)
services
服務類(用予可能跨多個domaind的企業邏輯)
taglib
自定標籤庫(用予GSP 頁面可重複用元素)
utils
自定義腳本(存放像編碼器(Codec)這類的其他工具)
views
Groovy 服務器頁面(GSP)(MVC 中的"V"
lib
JAR(存放JDBC 驅動和第三方的類別庫)
scripts
Gant 脚本(存放項目特定的脚本)
src
groovy
通用Groovy 源文件(存放其他那些没有慣例位置的文件)
java
Java 來源文件( 用予存放的Java 代碼)。(該目錄中的文件將被編譯並包含到WAR 文件中。)
test
integration
依賴其他组件(如資料庫)的測試腳本
unit
測試隔離組件的測試腳本
web-app
css
CSS
images
圖像文件(JPGGIFPNG 等)
js
JavaScript 文件( 包括像Prototype script.aculo.usYUI 等這樣的第三方庫。)
META-INF
典型的JEE 目錄,用予存放manifest 文件
WEB-INF
典型的JEE 目錄,用予存放web.xml 和其他配置文件
















其它文章

[Grails](groovy)執行Grails改port號(-Dserver.port)

如果執行時錯誤訊息如下:


Server failed to start: LifecycleException: Protocol handler initialization failed:
java.net.BindException: Address already in use<null>:8080


就是要改port號

指令如下:
-Dserver.port=9090 run-app

說明:
-Dserver.port= 你的port要改為多少  run-app















其它文章

[Grails](groovy)如何執行Grails

本章使用STS IDE工具

首先我們要先新建一個專案,
File > New > Grails Project 
建專案詳官網
Creating a new Grails project

建完專案後

執行

Ctrl+Alt+Shift+G
出現:





Project是選擇你剛建立完的專案名稱。
grails> 下指令的地方
測試一下是否可以正常執行。下指令run-app
grails> run-app

執行成功畫面:

Server running. Browse to http://localhost:8080/myTest
點選http://localhost:8080/myTest
畫面:

出現此畫面,就是成功執行了。
















其它文章

[Grails](groovy)Grails Documentation


The Grails Framework - Reference Documentation

中文The Grails Framework - Reference Documentation

Grails 入門指南-第二版












其它文章

[Grails](groovy)安裝Grails


Grails 是一個注重成效的開源Web 應用框架。
它使用了大多數Java 開發者已經正在使用的最佳技術——最著名的當屬Spring 和Hibernate

文件檔
grails Download

IDE加入Grails
所有現代Java IDE 都提供了對Groovy 和Grails 的支持:IntelliJ、 NetBeans 和Eclipse


使用IDE

本站使用STS開發,安裝方法官網有說明,本站不另說明。
STS加入Grails 
STS












其它文章

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...