一、引入pom依赖
<properties> <spring-version>4.3.14.RELEASE</spring-version> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring-version}</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring-version}</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> </dependencies>
二、配置spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <mvc:annotation-driven/> <mvc:default-servlet-handler /> <context:component-scan base-package="liuli.controller"></context:component-scan> <!-- freemarker的视图解析器 --> <bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <!-- prefix 设置在构建URL时用于查看名称的前缀。 --> <property name="prefix" value=""></property> <!-- suffix 设置在构建URL时附加到视图名称的后缀。 --> <property name="suffix" value=".html"></property> <!-- contentType 为所有视图设置内容类型。 --> <property name="contentType" value="text/html;charset=UTF-8"></property> <!-- exposeSpringMacroHelpers 公开宏助手 --> <property name="exposeSpringMacroHelpers" value="true" /> <!-- exposeRequestAttributes 公开请求属性 --> <property name="exposeRequestAttributes" value="true" /> <!-- exposeRequestAttributes 公开会话属性 --> <property name="exposeSessionAttributes" value="true" /> <!-- requestContextAttribute 为所有视图设置RequestContext属性的名称。 exposeRequestAttributes exposeSessionAttributes两个属性都被设置为true。 结果是请求和会话属性都被复制到模板的属性集中,可以使用FreeMarker的表达式语言来访问并显示。 使用这些宏,必须设置FreeMarkerViewResolver的exposeSpringMacroHelpers属性为true。 --> </bean> <!-- freemarker的配置文件 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!-- template加载路径 --> <property name="templateLoaderPath" value="/html/"></property> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8"></property> <property name="freemarkerSettings"> <props> <prop key="template_update_delay">10</prop> <prop key="locale">zh_CN</prop> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="date_format">yyyy-MM-dd</prop> <prop key="number_format">#.##</prop> </props> </property> </bean> <!-- 配置mvc --> </beans>
三、controller层代码
package liuli.controller; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class MyHandler { @RequestMapping("/test") public String toIndexPage(HttpServletRequest request,String name){ request.setAttribute("name", name); return "myindex"; } }
四、页面层代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>进来了...</title> </head> <body> <h1>欢迎使用freemarker,${name}</h1> </body> </html>
五、web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <!-- 配置springmvc --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 加载springmvc的配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!-- 设置tomcat启动就加载servlet --> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
六、放入tomcat启动即可。
大功告成!