コントローラーとビューの基本 (1/5)
作成:2013-10-12 10:52
更新:2013-10-12 11:11
更新:2013-10-12 11:11
■コントローラーのおさらい
前回、「create-controller helo」として、Heloコントローラーを作成しましたね。ここでは、こんな具合にコードが書かれていました。
コントローラークラスは、「○○Controller」という名前で作成されます。サンプルでは、heloという名前で作成したので、HeloControllerになったわけですね。
アクションは、ユーザーからアクセスがあった際、そのリクエストに対応して呼び出されるもの(リクエストハンドラ)です。HeloControllerでは、indexというメソッドが定義されていました。Grailsアプリケーションへのアクセスは、
アクションに記述しているのは「render」というメソッドでした。これは、引数に指定した内容をレンダリングしてクライアント側に出力するものでした。サンプルでは、HTMLのコードを直接記述していましたね。これで、指定の内容が書き出せたのでした。
このrenderは、出力する内容をアクション内で用意する場合に用いるものです。実は、「renderしないと表示ができない」というわけではありません。というより、普通はもっと別の形で表示を行わせます。それは、ビューテンプレートを利用したやり方です。
class 名前Controller {
def アクション() {
render "表示する内容";
}
}
コントローラークラスは、「○○Controller」という名前で作成されます。サンプルでは、heloという名前で作成したので、HeloControllerになったわけですね。
アクションは、ユーザーからアクセスがあった際、そのリクエストに対応して呼び出されるもの(リクエストハンドラ)です。HeloControllerでは、indexというメソッドが定義されていました。Grailsアプリケーションへのアクセスは、
http://サーバー/アプリケーション/コントローラー/アクションといった形になります。ローカルサーバーにGrailsAppというアプリケーションにHeloコントローラーを作成し、indexアクションを用意したら、そのアドレスは、
http://localhost:8080/GralisApp/helo/indexこのようになる、というわけです。
アクションに記述しているのは「render」というメソッドでした。これは、引数に指定した内容をレンダリングしてクライアント側に出力するものでした。サンプルでは、HTMLのコードを直接記述していましたね。これで、指定の内容が書き出せたのでした。
このrenderは、出力する内容をアクション内で用意する場合に用いるものです。実は、「renderしないと表示ができない」というわけではありません。というより、普通はもっと別の形で表示を行わせます。それは、ビューテンプレートを利用したやり方です。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※作成したHeloControllerクラス package gralisapp class HeloController { def index() { render "<html><body><h1>Helo</h1><p>welcome to Grails!</p></body></html>"; } }
※関連コンテンツ