Ответ 1
Хорошо, поэтому я сделал решительный шаг и просто попытался понять, как все это работает. Оказывается, это довольно легко. Здесь шаги для всех, кого это интересует:
Maven pom dependencies:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>${scala.version}</version>
</dependency>
<!-- scalate templating engine -->
<dependency>
<groupId>org.fusesource.scalate</groupId>
<artifactId>scalate-spring-mvc</artifactId>
<version>${scalate.version}</version>
</dependency>
<dependency>
<groupId>org.fusesource.scalate</groupId>
<artifactId>scalate-wikitext</artifactId>
<version>${scalate.version}</version>
</dependency>
<dependency>
<groupId>org.fusesource.scalate</groupId>
<artifactId>scalate-page</artifactId>
<version>${scalate.version}</version>
</dependency>
<dependency>
<groupId>org.fusesource.scalamd</groupId>
<artifactId>scalamd</artifactId>
<version>${scalamd.version}</version>
</dependency>
<dependency>
<groupId>org.fusesource.scalate</groupId>
<artifactId>scalate-test</artifactId>
<version>${scalate.version}</version>
<scope>test</scope>
</dependency>
MVC-servlet.xml:
<bean id="viewNameTranslator" class="org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator"/>
<bean id="scalateViewResolver" class="org.fusesource.scalate.spring.view.ScalateViewResolver"
p:order="1" p:prefix="/WEB-INF/view/" p:suffix=".scaml" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:order="2" p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/view/" p:suffix=".jspx" />
Затем я переименовал некоторый jspx и начал переводить код. Чтобы получить доступ к объектам модели, я делаю это в верхней части моего файла scaml:
[email protected] var x:String
[email protected] var y:List[com.xxx.model.MyModelObject]
Затем я просто последовал за scaml docs. Супер легкий. Единственное, что было неудобно, - это попытаться установить встроенный javascript... он жаловался на отступы или что-то в этом роде. Поэтому я переместил это в отдельный файл.
Не нужно было удалять sitemesh вообще (но я могу в будущем, когда я готов), и я могу переносить файлы jspx на досуге. Не может быть проще.