1.ページクラスの作成
./src/com/blogspot/groovyarekore/clickフォルダにファイルを作成
HelloWorld.groovy
package com.blogspot.groovyarekore.click
import org.apache.click.*
class HelloWorld extends Page
{
public HelloWorld()
{
addModel("now", new Date())
}
}
2.HTMLページの作成
./resource/フォルダに以下のHTMLファイルを作成
hello-world.htm
<html>
<head><title>hello world</title></head>
<body>
Hello World, $now
</body>
</html>
3.web.xmlの作成
./resource/WEB-INF/フォルダにweb.xmlファイルを作成
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>hello world</display-name>
<servlet>
<servlet-name>ClickServlet</servlet-name>
<servlet-class>org.apache.click.ClickServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ClickServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
4.click.xmlの作成
./resource/WEB-INF/フォルダにclick.xmlファイルを作成
click.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<click-app charset="UTF-8">
<pages package="com.blogspot.groovyarekore.click" />
</click-app>
5.必要なjarの用意
以下のURLからApache Clickをダウンロード
http://click.apache.org/
click-2.2.0.zipを解凍して、click-2.2.0.jarを./resource/WEB-INF/libディレクトリにコピー。
6.gantファイルの作成
カレントディレクトリでbuild.gantファイルを以下の内容で作成
build.gant
sourceDir = 'src'
buildDir = 'build'
stagingDir = 'stage'
deployDir = 'C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps'
groovyDir = 'C:/Program Files/Groovy/Groovy-1.7.5'
warFile = 'helloworld.war'
ant.taskdef(name : 'groovyc', classname:'org.codehaus.groovy.ant.Groovyc')
target(compile:'compile groovy files.'){
mkdir(dir:buildDir)
def cpath = path {
pathelement(location: "./resource/WEB-INF/lib/click-2.2.0.jar")
}
groovyc(srcdir:sourceDir, destdir:buildDir,
classpath: cpath)
}
target(war:'packaging'){
depends(compile)
mkdir(dir:"${stagingDir}/WEB-INF/classes")
copy(todir:"${stagingDir}/WEB-INF/classes"){
fileset(dir:"${buildDir}/")
}
copy(todir:"${stagingDir}/WEB-INF/lib",
file:"${groovyDir}/lib/groovy-1.7.5.jar")
copy(todir:"${stagingDir}/WEB-INF/lib",
file:"${groovyDir}/lib/asm-3.2.jar")
copy(todir:"${stagingDir}/WEB-INF/lib",
file:"${groovyDir}/lib/antlr-2.7.7.jar")
copy(todir:"${stagingDir}/"){
fileset(dir:"./resource/")
}
jar(destfile:warFile, basedir:stagingDir)
}
target(deploy:'copy war files to webapps'){
depends(war)
copy(todir:deployDir){
fileset(dir:"./", includes:"*.war")
}
}
includeTargets << gant.targets.Clean
cleanPattern << '**/*~'
cleanDirectory << buildDir
cleanDirectory << stagingDir
setDefaultTarget(deploy)
7.ビルド
以下のファイル配置になっていることを確認して、gantコマンドでビルド。
./build.gant
./src/com/blogspot/groovyarekore/click/HelloWorld.groovy
./resource/hello-world.htm
./resource/WEB-INF/web.xml
./resource/WEB-INF/click.xml
./resource/WEB-INF/lib/click-2.2.0.jar
8.Tomcatでの確認
ブラウザでhttp://localhost:8080/helloworld/hello-world.htmにアクセス。
動作環境
JDK6 Update22, Groovy 1.7.5, Apache Click 2.2.0, Apache Tomcat 7.0.4
0 件のコメント:
コメントを投稿