lever net.liftweb.http.S # doesnt fonctionne comme param wiki dit
Question
i essayer de copier les exemples wiki http://wiki.liftweb.net/index.php/Hello_Darwin
dans l'exemple de HelloForm2.scala
"submit" -> submit(?("Send"), () => {println("value:" + who + " :: " + param("whoField"))}),
Il imprime toujours
value:Full(hogehoge) :: Empty" even if i set the who as "object who extends RequestVar(Full("world"))
suis-je fais quelque chose de mal?
désolé pour oublier d'afficher le code complet, j'essaie déjà le second dans le wiki comme ci-dessous. 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>
et 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("")
)
}
}
, qui la montre correcte dans la page affichée, mais la console toujours des impressions
value:hogehoge :: Empty
im en utilisant 1,0 ascenseur
merci.
La solution
Vous devez changer ce code aussi, comme le montre l'exemple dans la page wiki, que je vais copier ici:
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("")
)
Notez que whoField est définie de manière très différente.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow