scala model-view-controller lift

MVC en Lift/Scala



model-view-controller (1)

Como tu pregunta no es específica de Lift, te recomendaría Playframework . La versión 1.1 es compatible con Scala 2.8.

Playframework es totalmente MVC con un fantástico motor de plantillas y te permite elegir libremente entre java / scala.

Y digo: para usar Play, no necesitas ''conocimiento científico nuclear'' . ¡Intentalo!

¿Alguien ha intentado hacer una aplicación scala / lift usando MVC en lugar de ver primero?

Sé que puede crear Controladores / vistas como:

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

Y este código será accesible si lo agrega al menú (en el arranque), incluso si está oculto como:

val entries = Menu(Loc("Home", List("index"), "Home")) :: List(Menu(Loc("MvcRock", List("mvc_rocks", "bar"), "Mvc really Rocks", Hidden))) LiftRules.setSiteMap(SiteMap(entries:_*))

Ahora, por supuesto, esto hará que sea así, usted declara cada acción en el menú, luego tiene un caso para cada acción (por controlador) y eso abriría la "vista" (que sería un archivo en /mvc_rucks/bar.html )

Mi pregunta es, si implementas un mvc completo, necesitarías poner toda tu lógica en la barra de accionesDispatch, pero ¿cómo enviarías esas variables a la plantilla HTML? y ¿cómo recibirías información de publicación / obtención?

(Tenga en cuenta que si su código html tiene enlaces de elevación, por supuesto, actuará como vista primero, incluso después de que haya realizado MVC anteriormente).