-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hello world type of example for spring mvc + mustache templates
- Loading branch information
1 parent
0972bd2
commit 61b7ada
Showing
7 changed files
with
336 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<groupId>com.mitemitreski</groupId> | ||
<artifactId>blog</artifactId> | ||
<name>mustacheJs</name> | ||
<packaging>war</packaging> | ||
<version>1.0.0-BUILD-SNAPSHOT</version> | ||
<properties> | ||
<java-version>1.6</java-version> | ||
<org.springframework-version>3.1.0.RELEASE</org.springframework-version> | ||
<org.aspectj-version>1.6.9</org.aspectj-version> | ||
<org.slf4j-version>1.5.10</org.slf4j-version> | ||
</properties> | ||
<dependencies> | ||
<!-- Spring --> | ||
<dependency> | ||
<groupId>org.springframework</groupId> | ||
<artifactId>spring-context</artifactId> | ||
<version>${org.springframework-version}</version> | ||
<exclusions> | ||
<!-- Exclude Commons Logging in favor of SLF4j --> | ||
<exclusion> | ||
<groupId>commons-logging</groupId> | ||
<artifactId>commons-logging</artifactId> | ||
</exclusion> | ||
</exclusions> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework</groupId> | ||
<artifactId>spring-webmvc</artifactId> | ||
<version>${org.springframework-version}</version> | ||
</dependency> | ||
|
||
<!-- AspectJ --> | ||
<dependency> | ||
<groupId>org.aspectj</groupId> | ||
<artifactId>aspectjrt</artifactId> | ||
<version>${org.aspectj-version}</version> | ||
</dependency> | ||
|
||
<!-- Logging --> | ||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>slf4j-api</artifactId> | ||
<version>${org.slf4j-version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>jcl-over-slf4j</artifactId> | ||
<version>${org.slf4j-version}</version> | ||
<scope>runtime</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>slf4j-log4j12</artifactId> | ||
<version>${org.slf4j-version}</version> | ||
<scope>runtime</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>log4j</groupId> | ||
<artifactId>log4j</artifactId> | ||
<version>1.2.15</version> | ||
<exclusions> | ||
<exclusion> | ||
<groupId>javax.mail</groupId> | ||
<artifactId>mail</artifactId> | ||
</exclusion> | ||
<exclusion> | ||
<groupId>javax.jms</groupId> | ||
<artifactId>jms</artifactId> | ||
</exclusion> | ||
<exclusion> | ||
<groupId>com.sun.jdmk</groupId> | ||
<artifactId>jmxtools</artifactId> | ||
</exclusion> | ||
<exclusion> | ||
<groupId>com.sun.jmx</groupId> | ||
<artifactId>jmxri</artifactId> | ||
</exclusion> | ||
</exclusions> | ||
<scope>runtime</scope> | ||
</dependency> | ||
|
||
<!-- @Inject --> | ||
<dependency> | ||
<groupId>javax.inject</groupId> | ||
<artifactId>javax.inject</artifactId> | ||
<version>1</version> | ||
</dependency> | ||
<!-- mustache js --> | ||
<dependency> | ||
<groupId>com.github.sps.mustache</groupId> | ||
<artifactId>mustache-spring-view</artifactId> | ||
<version>1.0</version> | ||
</dependency> | ||
<!-- Servlet --> | ||
<dependency> | ||
<groupId>javax.servlet</groupId> | ||
<artifactId>servlet-api</artifactId> | ||
<version>2.5</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.servlet.jsp</groupId> | ||
<artifactId>jsp-api</artifactId> | ||
<version>2.1</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.servlet</groupId> | ||
<artifactId>jstl</artifactId> | ||
<version>1.2</version> | ||
</dependency> | ||
|
||
<!-- Test --> | ||
<dependency> | ||
<groupId>junit</groupId> | ||
<artifactId>junit</artifactId> | ||
<version>4.7</version> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
<build> | ||
<plugins> | ||
<plugin> | ||
<artifactId>maven-eclipse-plugin</artifactId> | ||
<version>2.9</version> | ||
<configuration> | ||
<additionalProjectnatures> | ||
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> | ||
</additionalProjectnatures> | ||
<additionalBuildcommands> | ||
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> | ||
</additionalBuildcommands> | ||
<downloadSources>true</downloadSources> | ||
<downloadJavadocs>true</downloadJavadocs> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<version>2.3.2</version> | ||
<configuration> | ||
<source>1.6</source> | ||
<target>1.6</target> | ||
<compilerArgument>-Xlint:all</compilerArgument> | ||
<showWarnings>true</showWarnings> | ||
<showDeprecation>true</showDeprecation> | ||
</configuration> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</project> |
46 changes: 46 additions & 0 deletions
46
mustache-java/mustache-spring-mvc/src/main/java/com/mitemitreski/blog/HomeController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package com.mitemitreski.blog; | ||
|
||
import java.text.DateFormat; | ||
import java.util.Date; | ||
import java.util.HashMap; | ||
import java.util.Locale; | ||
import java.util.Map; | ||
import java.util.Properties; | ||
|
||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
import org.springframework.stereotype.Controller; | ||
import org.springframework.ui.Model; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RequestMethod; | ||
|
||
/** | ||
* Hello Mustache. | ||
*/ | ||
@Controller | ||
public class HomeController { | ||
|
||
private static final Logger logger = LoggerFactory | ||
.getLogger(HomeController.class); | ||
|
||
|
||
/** | ||
* Simple controller that redirects to home and adds map and date objects. | ||
*/ | ||
@RequestMapping(value = "/", method = RequestMethod.GET) | ||
public String home(Locale locale, Model model) { | ||
|
||
Date date = new Date(); | ||
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, | ||
DateFormat.LONG, locale); | ||
|
||
Properties properties = System.getProperties(); | ||
|
||
Map<String, String> map = new HashMap<String, String>((Map) properties); | ||
|
||
String formattedDate = dateFormat.format(date); | ||
model.addAttribute("serverTime", formattedDate); | ||
model.addAttribute("props", map.entrySet()); | ||
return "home"; | ||
} | ||
} |
41 changes: 41 additions & 0 deletions
41
mustache-java/mustache-spring-mvc/src/main/resources/log4j.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> | ||
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> | ||
|
||
<!-- Appenders --> | ||
<appender name="console" class="org.apache.log4j.ConsoleAppender"> | ||
<param name="Target" value="System.out" /> | ||
<layout class="org.apache.log4j.PatternLayout"> | ||
<param name="ConversionPattern" value="%-5p: %c - %m%n" /> | ||
</layout> | ||
</appender> | ||
|
||
<!-- Application Loggers --> | ||
<logger name="com.mitemitreski.blog"> | ||
<level value="ALL" /> | ||
</logger> | ||
|
||
<!-- 3rdparty Loggers --> | ||
<logger name="org.springframework.core"> | ||
<level value="info" /> | ||
</logger> | ||
|
||
<logger name="org.springframework.beans"> | ||
<level value="info" /> | ||
</logger> | ||
|
||
<logger name="org.springframework.context"> | ||
<level value="info" /> | ||
</logger> | ||
|
||
<logger name="org.springframework.web"> | ||
<level value="info" /> | ||
</logger> | ||
|
||
<!-- Root Logger --> | ||
<root> | ||
<priority value="warn" /> | ||
<appender-ref ref="console" /> | ||
</root> | ||
|
||
</log4j:configuration> |
33 changes: 33 additions & 0 deletions
33
...he-java/mustache-spring-mvc/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<beans:beans xmlns="http://www.springframework.org/schema/mvc" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" | ||
xmlns:context="http://www.springframework.org/schema/context" | ||
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd | ||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd | ||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> | ||
|
||
|
||
<!-- Enables the Spring MVC @Controller programming model --> | ||
<annotation-driven /> | ||
|
||
<!-- Handles HTTP GET requests for /resources/** by efficiently serving | ||
up static resources in the ${webappRoot}/resources directory --> | ||
<resources mapping="/resources/**" location="/resources/" /> | ||
|
||
<beans:bean id="viewResolver" | ||
class="org.springframework.web.servlet.view.mustache.MustacheViewResolver"> | ||
<!-- FIXME only useful during development --> | ||
<beans:property name="cache" value="false" /> | ||
<!-- The default view path is below --> | ||
<beans:property name="prefix" value="/WEB-INF/views/" /> | ||
<!-- The default suffix path is below --> | ||
<beans:property name="suffix" value=".mustache" /> | ||
<beans:property name="templateLoader"> | ||
<beans:bean | ||
class="org.springframework.web.servlet.view.mustache.MustacheTemplateLoader" /> | ||
</beans:property> | ||
</beans:bean> | ||
<context:component-scan base-package="com.mitemitreski.blog" /> | ||
|
||
|
||
</beans:beans> |
8 changes: 8 additions & 0 deletions
8
mustache-java/mustache-spring-mvc/src/main/webapp/WEB-INF/spring/root-context.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<beans xmlns="http://www.springframework.org/schema/beans" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> | ||
|
||
<!-- Root Context: defines shared resources visible to all other web components --> | ||
|
||
</beans> |
20 changes: 20 additions & 0 deletions
20
mustache-java/mustache-spring-mvc/src/main/webapp/WEB-INF/views/home.mustache
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<!DOCTYPE HTML> | ||
<html lang="en"> | ||
<head> | ||
<meta charset=utf-8> | ||
<title>Hello Mustache</title> | ||
</head> | ||
<body> | ||
<div id="container"> | ||
|
||
<p>Current server time is {{serverTime}}</p> | ||
<p>All the current system properties</p> | ||
<ul> | ||
{{#props}} | ||
<li>{{key}} = {{value}} </li> | ||
{{/props}} | ||
</ul> | ||
</div> | ||
</body> | ||
</html> | ||
|
33 changes: 33 additions & 0 deletions
33
mustache-java/mustache-spring-mvc/src/main/webapp/WEB-INF/web.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> | ||
|
||
<!-- The definition of the Root Spring Container shared by all Servlets and Filters --> | ||
<context-param> | ||
<param-name>contextConfigLocation</param-name> | ||
<param-value>/WEB-INF/spring/root-context.xml</param-value> | ||
</context-param> | ||
|
||
<!-- Creates the Spring Container shared by all Servlets and Filters --> | ||
<listener> | ||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | ||
</listener> | ||
|
||
<!-- Processes application requests --> | ||
<servlet> | ||
<servlet-name>appServlet</servlet-name> | ||
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> | ||
<init-param> | ||
<param-name>contextConfigLocation</param-name> | ||
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> | ||
</init-param> | ||
<load-on-startup>1</load-on-startup> | ||
</servlet> | ||
|
||
<servlet-mapping> | ||
<servlet-name>appServlet</servlet-name> | ||
<url-pattern>/</url-pattern> | ||
</servlet-mapping> | ||
|
||
</web-app> |