2009-07-24 6 views
1

i essayer de copier les exemples wiki http://wiki.liftweb.net/index.php/Hello_Darwinascenseur net.liftweb.http.S # doesnt fonctionne comme param wiki dit

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

Je fais quelque chose de mal? Désolé pour avoir oublié de poster du code complet, j'essaie déjà le deuxième 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("") 
    ) 
    } 
} 

maintenant, qui la montre correcte dans la page affichée, mais la console affiche toujours value:hogehoge :: Empty

im en utilisant un ascenseur 1.0

merci.

Répondre

1

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.

+0

merci, j'ai oublié de poster le code complet. Et oui, je pense que c'est déjà pareil que tu l'as dit. si je n'ai pas utilisé la voie d'ascenseur et laissez le champ de texte avoir le nom "whoFiled", alors param ("whoField") montre bien. mais en utilisant le liftway dans la page wiki, alors il génère automatiquement le nom de textfield, et param montre toujours Empty dans mon code .. –

+0

Ressemble à param ("whoField") get Empty n'est pas un problème. merci –