Lift Web アプリを開発したいのですが、ここに本文があるインデックス ページがあります。
<div id="main" class="lift:surround?with=default&at=content">
<div> App </div>
<div>
<form method="post" class="lift:DumbForm">
<table>
<tr><td> Email:</td> <td><input name="email" type="text"></td></tr>
<tr><td> Password:</td> <td><input name="pwd" type="password"></td></tr>
<tr><td> Name:</td> <td><input name="name" type="text"></td></tr>
<tr><td><input type="submit" value="Sign in"></td> <td><input type="reset" value="Reset"></td></tr>
</table>
</form>
</div>
</div>
対応するスニペット (ファイル "DumbForm.scala") を使用すると、次のようになります。
package code
package snippet
import net.liftweb._
import http._
import scala.xml.NodeSeq
/**
* A snippet that grabs the query parameters
* from the form POST and processes them
*/
object DumbForm {
def render(in: NodeSeq): NodeSeq = {
// use a Scala for-comprehension to evaluate each parameter
for {
r <- S.request if r.post_? // make sure it's a post
name <- S.param("name") // get the name field
} {
S.notice("Nom: "+name)
S.redirectTo("/hello")
}
// pass through the HTML if we don't get a post and
// all the parameters
in
}
}
このスニペットの属性「name」を、この名前を取得して表示する別のビュー、HTML ページ (「hello.html」) に渡したいと考えています。
しかし、スニペットからビュー (hello.html) に "name" パラメーターを渡す方法と、ビューでこのパラメーターを取得する方法がわかりません!
この時点で、私の hello.html には次のものがあります。
<body>
<p> Hello ... (you must display the name!)</p>
</body>