<g:form controller="コントローラー名"
action="アクション名">
……フォームの内容……
</g:form>
<g:textField name="name" value="${sampledata?.name}"/>sampledataは、コントローラーから渡される変数でしたね。この中のnameの値をvalueに設定している、というのはわかるでしょう。が、よく見ると、sampledata.nameではなくて、sampledata?.nameになっています。<g:hasErrors><g:hasErrors>タグは、もしエラーがあったら実行するというタグです。エラー専門のif文みたいなものと考えればいいでしょう。その中にある<g:renderErrors>タグがエラーメッセージを表示している部分です。これはbeanという属性が用意されています。
<g:renderErrors bean="${sampledata}" />
</g:hasErrors>
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※create.gspの内容
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="mylayout" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Grails Hello</title>
</head>
<body>
<h1>${title}</h1>
<h2>${msg}</h2>
<g:hasErrors>
<g:renderErrors bean="${sampledata}" />
</g:hasErrors>
<g:form controller="SampleData" action="create">
<table>
<tr><td>名前:</td><td><g:textField name="name" value="${sampledata?.name}"/></td></tr>
<tr><td>メール:</td><td><g:textField name="mail" value="${sampledata?.mail}" /></td></tr>
<tr><td>年齢:</td><td><g:textField name="age" value="${sampledata?.age}" /></td></tr>
<tr><td></td><td><g:actionSubmit value="send" action="create" /></td></tr>
</table>
</g:form>
</body>
</html>
| << 前へ | 次へ >> |