ビュー ファーストの代わりに MVC を使用してスカラ/リフト アプリケーションを実行しようとした人はいますか?
コントローラー/ビューを次のように作成できることを知っています:
package test.test.test.view
...
Lots of imports
...
class MvcRocks extends LiftView {
def dispatch = {
case "rule" => ruleDispatch _
case "bar" => barDispatch _
}
def barDispatch(): Box[NodeSeq] = {
Full(<lift:embed what="/mvc_rucks/bar" />)
}
}
そして、このコードは、次のように非表示になっている場合でも、(ブートで) メニューに追加するとアクセス可能になります。
val entries = Menu(Loc("Home", List("index"), "Home")) ::
List(Menu(Loc("MvcRock", List("mvc_rocks", "bar"), "Mvc really Rocks", Hidden)))
LiftRules.setSiteMap(SiteMap(entries:_*))
さて、もちろんこれでそうなります。メニューですべてのアクションを宣言し、各アクション(コントローラーごと)のケースを用意し、「ビュー」を開きます(/mvc_rucks/bar.htmlのファイルになります) )。
私の質問は、完全な mvc を実装する場合、すべてのロジックをアクション barDispatch に配置する必要があるということですが、これらの変数を HTML テンプレートにどのように送信しますか? また、どのように投稿/情報を取得しますか?
(html コードにリフト バインディングがある場合は、以前に MVC を実行した後でも、もちろんビュー ファーストとして機能することに注意してください)。