<dependencies>
...
<dependency>
<groupId>org.scalatra.scalate</groupId>
<artifactId>scalate-core_$scala_version</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.12</version>
</dependency>
...
</dependencies>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/views/"/>
</bean>
<bean id="scalateConfig" class="org.scalatra.scalate.ScalateConfig">
<property name="templateEngine">
<bean class="org.scalatra.scalate.ScalateTemplateEngine">
<property name="config" ref="scalateEngineConfig"/>
</bean>
</property>
</bean>
<bean id="scalateEngineConfig" class="org.scalatra.scalate.BasicScalateEngineConfig">
</bean>
h1 Hello, #{name}!
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HelloController {
@RequestMapping("/hello")
public ModelAndView hello() {
return modelAndView;
}
}
scala
libraryDependencies ++= Seq(
"org.scalatra.scalate" %% "scalate-core" % "1.9.5",
"com.typesafe.play" %% "play" % "2.8.10"
)
play.scalate.allowReload=true
play.scalate.allowCaching=true
h1 Hello, #{name}!
scala
package controllers
import javax.inject._
import org.scalatra.scalate.ScalateSupport
@Singleton
class HelloController @Inject()(val controllerComponents: ControllerComponents) extends ScalateSupport {
def hello = Action {
Ok(
scalateEngine.layout("hello.jade", Map("name" -> "Scalate"))
)
}
}