首先,定义一个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 + jsp + jstl + jquery + OSCache + freeMarker + mysql 用户登陆用统一的认证登陆接口:shiro; 前台用freeMarker 模板,还有 jsp!
基于spring mvc 框架,用freemarker创建邮件模板,包括详细邮件发送功能的spring配置和实现代码
以下是jeebbs v2.0版的功能列表: 1.发帖功能 2.回帖功能 3.删除帖子功能 4.屏蔽功能 5.引用功能 6.隐藏功能 7.评分功能 8.会员登录次数限制功能 9.强化会员登录功能 ...23.强化论坛模板功能
Web 框架,即使用了 MVC(模型-视图-控制器)架构模式的思想,将 web 层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring MVC 也是一样,它只关注于三层中的控制层,...
Spring MVC 框架的工作原理 Spring MVC 是 Spring 框架的一部分,提供了一个基于模型-视图-控制器(MVC)...通过理解 Spring MVC 的工作原理和组件的角色,可以更好地使用 Spring MVC 框架开发高质量的 Web 应用程序。
liferay-spring-mvc-freemarker-portlet-archetype 这是用于创建 Liferay Spring MVC Freemarker portlet 的 maven 原型。 由于 Liferay 不正式支持这种类型的 portlet,因此当前不存在原型。 这个原型修正了这一点...
可视化div布局 生成freemarker模板 div拖拽 div缩小放大 spring mvc3
使用Spring MVC构建Web应用程序1 Spring MVC是基于模型-视图-控制器(Model-View-Controller, MVC)模式实现的Web应用程序框架。其核心是DispatcherServlet,充当Spring MVC的前端控制器。DispatcherServlet必须在...
freemarker模板生成例子 可以根据表名生成其增删改查方法以及jsp页面,基于spirng,spring-mvc,mybatis .使用前请更改jdbc配置文件下的项目路径和数据库,生成后需要将controller上方注释复制到mybatisconfig中对应...
简单后台管理系统 基于maven管理,整合最新spring mvc 4.3.3.RELEASE版整合了mybatis 3.4.1,涵盖了目前互联网web系统最流行的组件,log4j2日志、freemarker模板、protostuff序列化、fastjson、redis、spring-data-...
在Spring Web MVC 中,您可以使用任何对象作为命令对象(command orject)或表单对象 ;您不需要实现框架特定接口或基类。Spring的数据绑定是高度灵活的: 例如,它把类型不匹配当做验证错误,这样就可以算作应用程序...
前端使用freemarker模板。数据库使用mysql。例子要跑起来了,可以添加下面数据库表结构: DROP TABLE IF EXISTS `sys_user`; CREATE TABLE `sys_user` ( `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '用户id',...
基于 Spring Boot 的个人博客 1. 涉及技术及工具 核心框架:SpringBoot ORM 框架:MyBatis ...模板引擎:Freemarker 编译辅助插件:Lombok CSS 框架:BootStrap 4.0 Markdown 编辑器:Editor.md 数据库:MySQL
基于Springboot +activiti实现...> 在Spring MVC中,被@RequestMapping注解的方法,可以接收 > RedirectAttributes ra参数,通过ra.addFlashAttribute(key,value) > 可以向模板文件中注册名称为key,值为value的对象。
〖课程介绍〗这是一篇网站原理课程,先介绍FreeMarker模板引擎的使用,然后以FreeMarker API为基础设计一个MVC框架,以此展开说明MVC框架的流程原理。演示平台:Eclipse EE ,FreeMarker 2.3 〖主要内容〗包含以下...
FreeMarker 模板引擎 pagehelper分页插件 前端 Bootstrap jQuery Vue.js Datatables 安装教程 本地准备开发工具IDE,建议使用eclipse 或者springSTS 安装JDK1.8,并配置环境变量 安装maven,并配置本地仓库 安装...
可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。...
Spring MVC:MVC框架,使用方便,Bug较少。 Spring Security:安全组件。 Mybatis:持久化框架。 FreeMarker:网站模板组件。 Lucene:全文检索组件。 前端技术 TypeScript: JavaScript的一个超集。 Vue3:...
可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。...
Spring Boot 支持多种模板引擎,如 Thymeleaf、Freemarker 等。 在模板引擎中,我们可以使用 @TemplateEngine 注解来标注模板引擎,并使用模板文件来实现页面的渲染。同时,我们也可以使用模板变量来实现动态数据...