1
我嘗試HelloForm2.scala電梯net.liftweb.http.S#PARAM犯規就像維基說:
的例子複製的維基 http://wiki.liftweb.net/index.php/Hello_Darwin例子
"submit" -> submit(?("Send"),() => {println("value:" + who + " :: " + param("whoField"))}),
它總是打印
value:Full(hogehoge) :: Empty" even if i set the who as "object who extends RequestVar(Full("world"))
我做錯了什麼?
對於忘記發佈完整代碼感到抱歉,我已經嘗試下面的維基中的第二個代碼。 的index.html
<lift:surround with="default" at="content">
<h2>Welcome to your project!</h2>
<lift:HelloWorld.show form="POST">
Hello <hello:who />
<br />
<label for="whoField">Who :</label>
<hello:whoField />
<hello:submit />
</lift:HelloWorld.show>
</lift:surround>
和HelloWorld.scala
class HelloWorld {
object who extends RequestVar(Full("world"));
def show(xhtml: NodeSeq): NodeSeq ={
bind("hello", xhtml,
"whoField" -> text(who.openOr(""), v => who(Full(v))) % ("size" -> "10") % ("id" -> "whoField"),
"submit" -> submit(?("Send"),() => {println("value:" + who.openOr("") + " :: " + param("whoField"))}),
"who" -> who.openOr("")
)
}
}
現在,誰顯示在所呈現的頁面是正確的,但仍然控制檯使用電梯1.0
打印value:hogehoge :: Empty
IM
謝謝。
謝謝,我忘了發佈完整的代碼。 是的,我認爲它已經和你說的一樣了。 如果我沒有使用lift方式,並讓textfield有「whoFiled」這個名字,那麼param(「whoField」)很好地顯示。但在wiki頁面中使用liftway,然後它會自動生成textfield的名稱,並且param始終在我的代碼中顯示Empty。 – 2009-07-24 23:41:52