首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

基于注脚的SpringMVC+freemarker环境搭建

2012-09-02 
基于注解的SpringMVC+freemarker环境搭建这种帖子网上也有不少,自己写出来也是做为一种补充,SpringMvc+fre

基于注解的SpringMVC+freemarker环境搭建
这种帖子网上也有不少,自己写出来也是做为一种补充,SpringMvc+freemarker确实是MVC不错的实现。废话不多说了,下面是自己利用eclipse搭建的一个简单的springMVC+freemarker

1  首先用IDE建一个web工程。(这个就不详细介绍了)

2  引入响应的jar包

3  一切web工程的配置都从web.xml开始,现在就看下web.xml都要配置啥

<?xml version="1.0" ?><web-app 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_3_0.xsd"version="3.0"><!--  Spring 服务层的配置文件 -->    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:applicationContext.xml</param-value>    </context-param><!--  Spring 容器启动监听器 -->    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener        </listener-class>    </listener><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><!--为DispatcherServlet建立映射 --><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>


4 SpringMVC另外一个重要的配置文件。
DispatcherServlet会根绝web.xml中配置的<servlet-name>去找<servlet-name>-servlet.xml的文件来加载spring的一些配置信息。我这里就应该取名叫springmvc-servlet.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"><!--对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --><context:component-scan base-package="com.liba.spring.mvc"/><!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射   请求映射--><bean />        <!--以下三种视图配置根据需要任选一种即可 --><!--  一般的视图配置 --><!--<bean p:prefix="/WEB-INF/view/" p:suffix=".jsp"/>--><!-- 针对freemarker的视图配置 --><bean id="viewResolver"value="true" /><property name="prefix" value="" /><property name="suffix" value=".ftl" /><property name="contentType" value="text/html;charset=UTF-8"></property><property name="requestContextAttribute" value="request" /><property name="exposeSpringMacroHelpers" value="true" /><property name="exposeRequestAttributes" value="true" /><property name="exposeSessionAttributes" value="true" /></bean><!-- View resolvers can also be configured with ResourceBundles or XML files. If you need different view resolving based on Locale, you have to use the resource bundle resolver. --><!-- 这个是针对返回视图还是json值的视图配置   来分别处理同步和异步请求 --><!--<beanvalue="text/html" /><entry key="json" value="application/json" /></map></property><property name="favorParameter" value="true" /><property name="viewResolvers"><list><bean /><bean id="viewResolver"value="true" /><property name="prefix" value="" /><property name="suffix" value=".ftl" /><property name="contentType" value="text/html;charset=UTF-8"></property><property name="requestContextAttribute" value="request" /><property name="exposeSpringMacroHelpers" value="true" /><property name="exposeRequestAttributes" value="true" /><property name="exposeSessionAttributes" value="true" /></bean></list></property><property name="defaultContentType" value="text/html" /></bean>--></beans>


这里以使用freemarker视图控制器为例,在WEB-INF/view下面创建*.ftl的文件进行视图渲染。
如果使用freemarker作为视图控制器需要再spring配置文件中加入这样一段
<bean id="freemarkerConfig"value="/WEB-INF/view/" /><property name="freemarkerSettings"><props><prop key="template_update_delay">0</prop><prop key="default_encoding">UTF-8</prop><prop key="number_format">0.##########</prop><prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop><prop key="classic_compatible">true</prop><prop key="template_exception_handler">ignore</prop></props></property></bean>



5  Controller建立
import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class SpringMvcController {@RequestMapping(value="/welcome",method={RequestMethod.GET}) public ModelAndView getFirstPage(HttpServletRequest request) {                //welcom就是视图的名称(welcom.ftl)ModelAndView mv = new ModelAndView("welcom");mv.addObject("name", "My First Spring Mvc");return mv;}}


在url上敲http://localhost:8080/welcome就会到 welcom.ftl页面渲染数据

welcom.ftl页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body>Hello ${name}</body></html>




页面出来的效果:

Hello My First Spring Mvc

热点排行