Skip to content

Instantly share code, notes, and snippets.

@toby55kij
Created December 22, 2011 13:54
Show Gist options
  • Save toby55kij/1510367 to your computer and use it in GitHub Desktop.
Save toby55kij/1510367 to your computer and use it in GitHub Desktop.
Grettyのサンプル - 割り勘計算機
@GrabResolver(name='gretty',
root='http://groovypp.artifactoryonline.com/groovypp/libs-releases-local')
@Grab('org.mbte.groovypp:gretty:0.4.302')
import org.mbte.gretty.httpserver.GrettyServer
//Grettyのサンプル - 割り勘計算機
// http://localhost:8080/[割られる数]/[割る数] -> 割り算の結果を返す
// http://localhost:8080/[メッセージ] -> 'Hello, [メッセージ]!'を返す
//割り算の結果を返す
def createDivResponse = { p ->
def calcResult = p.dividend.toBigDecimal() / p.divisor.toBigDecimal()
[ dividend: "${p.dividend}", divisor: "${p.divisor}",
calcResult: "$calcResult"]
}
//GrettyServerを作成
GrettyServer server = []
//Groovyではこんな感じで記述
server.groovy = [
//サーバアドレスとポートの指定
localAddress: new InetSocketAddress("localhost", 8080),
//ルートディレクトリの指定
dir: "./",
//存在しないページを指定した場合、リダイレクト
defaultHandler: {
response.redirect "/"
},
public: {
//割り算
get("/div/:dividend/:divisor") {
//割り算の結果をテンプレートに通して返す
response.html = template("warikan.gpptl",
createDivResponse(request.parameters))
}
//Hello, World!
get("/:name") {
response.html = "Hello, ${request.parameters.name}!"
}
}
]
//サーバの動作開始
server.start()
<html>
<head>
<title>割り勘計算機</title>
</head>
<body>
<p>${dividend} / ${divisor} = ${calcResult}</p>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment