Created
December 22, 2011 13:54
-
-
Save toby55kij/1510367 to your computer and use it in GitHub Desktop.
Grettyのサンプル - 割り勘計算機
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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