2009-06-22 11 views
8

Czy ktoś próbował zrobić aplikację scala/lift przy użyciu MVC zamiast widoku-pierwszego?MVC na Lift/Scala

Wiem, że można utworzyć kontrolerów/widoki jak:

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

i ten kod będzie dostępna, jeśli dodać go do menu (w bagażniku), nawet jeśli ukryte jak:

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

Teraz oczywiście to uczyni, zadeklarujesz każdą czynność w menu, a następnie będziesz miał argumenty za każdą czynnością (na kontroler) i otworzysz "widok" (będzie to plik w/mvc_rucks/bar.html).

Moje pytanie brzmi: jeśli zaimplementujesz pełne mvc, musisz umieścić całą swoją logikę w akcji barDispatch, ale jak przesłać te zmienne do szablonu HTML? i w jaki sposób otrzymasz informacje o post/get?

(Zwróć uwagę, że jeśli kod html ma powiązania wind, będzie to oczywiście działało jako widok, nawet po wcześniejszym MVC).

Odpowiedz

9

Ponieważ twoje pytanie nie jest specyficzne dla Lift, polecam Ci Playframework. Wersja 1.1 obsługuje Scala 2.8.

Playframework jest całkowicie MVC z fantastycznym silnikiem szablonów i pozwala swobodnie wybierać między java/scala.

A ja mówię: Aby korzystać z Play, nie potrzebujesz "wiedzy naukowców z dziedziny jądrowej". Spróbuj!

+0

"Wreszcie framework Java stworzony przez twórców stron internetowych. Odkryj czystą alternatywę dla nadmiarowych zbiorów Java dla przedsiębiorstw." - Sztuka teatralna!" strona główna mówi. Nigdy nie wiedziałem, że coś takiego istnieje i zawsze marzyło. Wielkie dzięki, Paulo. – Ivan

+0

Niektórzy deweloperzy czasami zapominają, że chcemy prostoty :) Play jest jedną z odpowiedzi na to. Szukam czegoś jeszcze prostszego. Poszukaj JTornado na Githubie. Naprawdę się na tym skupiam. Dzięki! – paulosuzart