簡體   English   中英

lift net.liftweb.http.S#param不能像Wiki所述

[英]lift net.liftweb.http.S#param doesnt works like wiki says

我嘗試復制Wiki http://wiki.liftweb.net/index.php/Hello_Darwin中的示例

在HelloForm2.scala的示例中

"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"))

我做錯什么了嗎?

很抱歉忘記發布完整的代碼,我已經在下面的Wiki中嘗試了第二個代碼。 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("")
    )
  }
}

現在,誰在呈現的頁面中顯示正確,但是控制台仍會打印value:hogehoge :: Empty

即時通訊使用電梯1.0

謝謝。

您也必須更改該代碼,如Wiki頁面中的示例所示,我將在此處復制該代碼:

  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("")
  )

請注意,whoField的定義非常不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM