让我们来创建一个简单的aJax例子
首先创建一个snippet
import _root_.net.liftweb.http.SHtml._
import _root_.net.liftweb.http.js.JE._
import _root_.net.liftweb.http.js.JsCmds._
import scala.xml.{NodeSeq,Text}
import net.liftweb.util._
import Helpers._
import net.liftweb.http.js.JsCmd
import net.liftweb.http.SHtml
// Use logging facilities
class AbstractionExamples {
// define a snippet method
def myFunc(html: NodeSeq): NodeSeq = {
bind("hello",
html,
"button" -> ajaxButton(Text("Press me"), {
() =>SetHtml("my-div", Text("That’s it"))
}
))
}
}
<lift:AbstractionExamples.myFunc form="POST">
<p> Some Text <hello:description /></p>
<hello:button />
</lift:AbstractionExamples.myFunc>
<div id="my-div"></div>
代码的意思是,替换myFunc中的HTML的内容,将具有"hello"前缀的button作为一个ajaxButton按钮.
按钮的Text为"Press me",执行结果为替换my-div的HTML内容为文本类型的"That's it"
注意:只有在myFunc中的HTML的hello前缀的组建才有此bind作用。