スニペットを使うとビューからスニペットとして用意したクラスのメソッドを呼び出して動的に情報を表示することができる。

スニペットはscala.xml.NodeSeqを返すメソッドを持つクラスである。ビューにスニペットを呼び出すタグを記述することでメソッドが返す値をそのまま表示することができる。
スニペットとして使うクラスはLiftRules.addToPackages()によって指定されたパッケージのsnippetsサブパッケージに配置する。

スニペットの例:

import scala.xml._
class Hello {
  def render: NodeSeq = {
    <span>hello</span>
  }
  def world: NodeSeq = {
    <span>world</span>
  }
}

スニペットを呼び出すにはビューに呼び出しのタグを記述する。
タグの書き方は次の3通りある。

  1. <lift:snippet type=”クラス名:メソッド名” />
  2. <lift:クラス名.メソッド名 />
  3. <lift:クラス名 />
    メソッド名が省略されたこの書き方の場合は、renderメソッドが呼び出される。

実際にHelloクラスを呼び出す例は次の通り。

  <lift:snippet type="Hello:render"/>
  <lift:Hello />
  <lift:Hello.world />

参考文献:

http://exploring.liftweb.net/