A week back I tried out using scalate with spring mvc:
The above link talks about just the spring configuration entry. I thought I could add a bit more information.
Get the required libraries
Yeah, this must be obvious. But just to keep things explicit.
- scalate libraries - scalate-core-1.5.2.jar, scalate-util-1.5.2.jar (I did not know I need the util jar also till I hit an issue)
- scalate spring mvc integration library - scalate-spring-mvc-1.5.2.jar
- scala jars (hmmm... now that was obvious but yet...) - scala-library-2.9.1.jar, scala-compiler-2.9.1.jar. Still not sure why the compiler is required!!!
I think this is already covered in the above link. It tries to configure a view resolver for scalate templates.
A sample Spring MVC controller
A sample Spring MVC controller
A sample controller which provides some data to the template (I used the mustache based templates which we will see soon).
@Controller public class ScalatePOCController { @RequestMapping("/scalatePOC.html") public ModelAndView pocHandler() { ModelAndView modelAndView = new ModelAndView(); String name = "Superman"; Product product = new Product(); product.setId(10l); product.setName("Super Belt"); return modelAndView; } }A sample template
I used mustache as my templating mechanism. Kind of like the fact that I can use the same template on both server and client side.
Hello Basic POC working!!!
That I thought should get me rolling. When I then ran my tomcat to see the page, I got OOM (OutOfMemoryError). The JVM perm gen space had run out. Looks like all the scala stuff meant I needed a little more memory (could be just my case because I had other stuff also in my project.... so may not happen to all). I increased my perm gen space by giving the following jvm argument.
-XX:MaxPermSize=256M
That did it! I got my simple scalate - spring mvc app running...
Hello Basic POC working!!!
Hello {{name}}! This is the Product you want!!! {{#product}} {{id}} {{name}} {{/product}}
That I thought should get me rolling. When I then ran my tomcat to see the page, I got OOM (OutOfMemoryError). The JVM perm gen space had run out. Looks like all the scala stuff meant I needed a little more memory (could be just my case because I had other stuff also in my project.... so may not happen to all). I increased my perm gen space by giving the following jvm argument.
-XX:MaxPermSize=256M
That did it! I got my simple scalate - spring mvc app running...
No comments:
Post a Comment