`
fudehai001
  • 浏览: 488846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mvc 使用Freemarker模板

阅读更多
首先,定义一个freemarker模板,解析对象studentList

/freemarker/success.ftl


<html>
  <body>
    <table border="1">
     <#list studentList as student>
      <tr>
       <td>${student.name}</td>
       <td>${student.sex}</td>
      </tr>
     </#list>
     
    </table>
  </body> 
</html>

JavaBean


package model;

public class Student ...{
   private String name;
   private String sex;
public String getName() ...{
    return name;
}
public void setName(String name) ...{
    this.name = name;
}
public String getSex() ...{
    return sex;
}
public void setSex(String sex) ...{
    this.sex = sex;
}
}



编写控制器:


package Action;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.Student;

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;


/** *//**
* @@org.springframework.web.servlet.handler.commonsattributes.PathMap("/home.mvc");
*/
public class FreemarkerHomeController extends AbstractCommandController ...{


    protected ModelAndView handle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, BindException arg3) throws Exception ...{
        // TODO 自动生成方法存根
        return null;
    }

    protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception ...{
         Student stu1=new Student();
         stu1.setName("gaoxiang1");
         stu1.setSex("male1");
         Student stu2=new Student();
         stu2.setName("gaoxiang2");
         stu2.setSex("male2");
         List a=new ArrayList();
         a.add(stu1);
         a.add(stu2);
         System.out.println(a);
         return new ModelAndView("success","studentList",a);
    }


   



web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/train-servlet.xml</param-value>
  </context-param>
  <servlet>
    <servlet-name>train</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
     <servlet-name>train</servlet-name>
     <url-pattern>*.mvc</url-pattern>
  </servlet-mapping>

   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
   
  <filter>
    <filter-name>character</filter-name>
    <filter-class>Action.CharacterFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>character</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>



train-servlet.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
<beans>

<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
   <props>
       <prop key="/freemarker.mvc">FreemarkerHomeController</prop>
    
   </props>
</property>
</bean>


<bean id="FreemarkerHomeController" class="Action.FreemarkerHomeController">
</bean>

<!-- freemarker页面解析器-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  <property name="suffix">
    <value>.ftl</value>
  </property>
  <property name="viewClass">
    <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView</value>
  </property>
</bean>

<!-- 配置Freemarker -->
<bean id="freemarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
  <property name="templateLoaderPath">
    <value>/freemarker/</value>
  </property>
  <property name="freemarkerSettings"><!-- 如果模板不经常更新,此属性设置更新延迟时间 -->
    <props>
      <prop key="template_update_delay">3600</prop>
    </props>
  </property>
</bean>

</beans>



执行/freemarker.mvc

结果:

gaoxiang1 male1
gaoxiang2 male2
分享到:
评论

相关推荐

    spring mvc 3.2 + mybatis3.2 + freeMarker

    spring mvc 3.2 + mybatis3.2 + jsp + jstl + jquery + OSCache + freeMarker + mysql 用户登陆用统一的认证登陆接口:shiro; 前台用freeMarker 模板,还有 jsp!

    Spring mvc 发送邮件功能

    基于spring mvc 框架,用freemarker创建邮件模板,包括详细邮件发送功能的spring配置和实现代码

    JEEBBS hibernate3+spring mvc+spring3+freemarker

    以下是jeebbs v2.0版的功能列表: 1.发帖功能 2.回帖功能 3.删除帖子功能 4.屏蔽功能 5.引用功能 6.隐藏功能 7.评分功能 8.会员登录次数限制功能 9.强化会员登录功能 ...23.强化论坛模板功能

    liferay-spring-mvc-freemarker-portlet-archetype

    liferay-spring-mvc-freemarker-portlet-archetype 这是用于创建 Liferay Spring MVC Freemarker portlet 的 maven 原型。 由于 Liferay 不正式支持这种类型的 portlet,因此当前不存在原型。 这个原型修正了这一点...

    可视化div布局 生成freemarker模板

    可视化div布局 生成freemarker模板 div拖拽 div缩小放大 spring mvc3

    freemarker模板生成例子

    freemarker模板生成例子 可以根据表名生成其增删改查方法以及jsp页面,基于spirng,spring-mvc,mybatis .使用前请更改jdbc配置文件下的项目路径和数据库,生成后需要将controller上方注释复制到mybatisconfig中对应...

    spring mvc后台管理系统

    简单后台管理系统 基于maven管理,整合最新spring mvc 4.3.3.RELEASE版整合了mybatis 3.4.1,涵盖了目前互联网web系统最流行的组件,log4j2日志、freemarker模板、protostuff序列化、fastjson、redis、spring-data-...

    spring mvc 3.2 参考文档

    在Spring Web MVC 中,您可以使用任何对象作为命令对象(command orject)或表单对象 ;您不需要实现框架特定接口或基类。Spring的数据绑定是高度灵活的: 例如,它把类型不匹配当做验证错误,这样就可以算作应用程序...

    springboot集成spring mvc,mybatis

    前端使用freemarker模板。数据库使用mysql。例子要跑起来了,可以添加下面数据库表结构: DROP TABLE IF EXISTS `sys_user`; CREATE TABLE `sys_user` ( `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '用户id',...

    基于spring mvc+mybatis的博客

    基于 Spring Boot 的个人博客 1. 涉及技术及工具 核心框架:SpringBoot ORM 框架:MyBatis ...模板引擎:Freemarker 编译辅助插件:Lombok CSS 框架:BootStrap 4.0 Markdown 编辑器:Editor.md 数据库:MySQL

    基于Springboot +activiti实现的一个前后端分离的企业级OA管理系统(源码+数据库)

    基于Springboot +activiti实现...&gt; 在Spring MVC中,被@RequestMapping注解的方法,可以接收 &gt; RedirectAttributes ra参数,通过ra.addFlashAttribute(key,value) &gt; 可以向模板文件中注册名称为key,值为value的对象。

    Java学习指南(11) FreeMarker与MVC框架

    〖课程介绍〗这是一篇网站原理课程,先介绍FreeMarker模板引擎的使用,然后以FreeMarker API为基础设计一个MVC框架,以此展开说明MVC框架的流程原理。演示平台:Eclipse EE ,FreeMarker 2.3  〖主要内容〗包含以下...

    一个简单的在线考试系统

    FreeMarker 模板引擎 pagehelper分页插件 前端 Bootstrap jQuery Vue.js Datatables 安装教程 本地准备开发工具IDE,建议使用eclipse 或者springSTS 安装JDK1.8,并配置环境变量 安装maven,并配置本地仓库 安装...

    spring jar 包详解

    可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。...

    本科毕业设计,基于Java-web开发的内容管理系统(java cms),使用SpringBoot、vue、MyBatis等技术

    Spring MVC:MVC框架,使用方便,Bug较少。 Spring Security:安全组件。 Mybatis:持久化框架。 FreeMarker:网站模板组件。 Lucene:全文检索组件。 前端技术 TypeScript: JavaScript的一个超集。 Vue3:...

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

    可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。...

    JavaEE求职简历-姓名-JAVA开发工程师.doc

    熟练使用HTML、JS、CSS、Ajax、JQuery、EasyUI框架等前端技术,熟练使用Thymeleaf模板引擎,了解FreeMarker模板引擎; 熟练使用JUnit结合DBUnit、EasyMock等测试工具,并了解Hamcrest、Suite、Stub等测试原理; 熟悉...

    基于java的协同办公OA自动化办公系统

    - 基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,Bootstrap作为前端UI框架。 - 集成了jpa、mybatis等框架。作为初学springboot的同学是一个很不错的项目,如果想在此基础上面进行OA...

    spring in action英文版

     1.1 为什么使用Spring  1.1.1 J2EE开发者的一天  1.1.2 Spring的承诺  1.2 Spring是什么  1.3 开始Spring之旅  1.4 理解反向控制  1.4.1 依赖注入  1.4.2 IoC应用  1.4.3 企业级应用中的...

    最新最全的spring开发包

    可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。...

Global site tag (gtag.js) - Google Analytics