首先,定义一个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
分享到:
相关推荐
FreeMarker模板是纯文本文件,其中包含可插入动态数据的特殊指令。 在Spring MVC中集成FreeMarker,首先需要在项目的配置文件(如`servlet-context.xml`)中配置FreeMarker视图解析器。这通常包括指定模板目录、...
model.put("message", "欢迎使用FreeMarker模板"); return new ModelAndView("index", model); } } ``` 对应FreeMarker模板`index.ftl`: ```html <!DOCTYPE html> ${title} ${message} ``` **5. 运行...
在这个例子中,FreeMarker模板使用`<#list>`指令遍历`students`属性(由控制器传递),并插入到表格中。当服务器接收到请求时,Spring MVC会调用控制器,处理业务逻辑,然后使用FreeMarker生成响应的HTML页面。 ...
总之,Spring MVC 整合 FreeMarker 是一种常见的 Web 开发实践,它使开发者能够专注于业务逻辑,同时利用 FreeMarker 的强大模板功能生成动态页面。理解并掌握这种整合方式,对于提升 Web 应用的开发效率和质量具有...
- 启动Spring MVC应用,访问`http://localhost:8080/hello?name=YourName`,浏览器将显示由Freemarker模板渲染后的页面,其中`YourName`替换为传入的参数。 通过这个简单的例子,我们可以看到Spring MVC和...
在本文中,我们将深入探讨如何使用Spring 3.2.1 MVC框架与Freemarker模板引擎结合,构建一个简单的Web应用程序。Spring MVC是Spring框架的一部分,它为开发RESTful Web服务提供了强大的支持,而Freemarker则是一个轻...
而`HzjwCMS`可能包含了整个项目的源代码和资源文件,包括但不限于Java类、配置文件、Freemarker模板、静态资源等。通过学习和研究这个项目,开发者可以深入了解如何在实际项目中整合Spring MVC、MyBatis和Freemarker...
在本例子中,我们将深入探讨如何将Spring MVC与Freemarker模板引擎结合使用。 Freemarker是一个开源的模板引擎,用于生成动态HTML、XML或其他格式的文本。它不依赖任何Web容器,仅需要一个解析器来处理模板文件。...
5. **模板中的表达式和指令**:在FreeMarker模板文件中,可以使用 `${expression}` 表达式来获取模型数据,用 `#if`, `#foreach`, `#set` 等指令进行逻辑控制。例如: ```html <!DOCTYPE html> ${title} <h1>...
在Spring MVC中,Freemarker模板通常用于生成HTTP响应中的HTML内容。自定义标签则允许我们在模板中创建自己的逻辑结构,这些结构可以封装复杂的业务逻辑或重复使用的UI组件。 要创建自定义标签,你需要编写一个Java...
标题中的“Spring MVC, Tiles, Freemarker集成”指的是在Java Web开发中,将Spring MVC作为控制器框架,Tiles作为页面布局工具,而Freemarker作为视图模板引擎进行整合使用的技术方案。这种集成可以帮助开发者构建...
FreeMarker模板引擎用于生成视图层,它与Spring3 MVC配合,接收由后台传递的数据模型,并根据模板规则生成动态HTML页面。开发者在FreeMarker模板中定义变量和逻辑,FreeMarker会将这些变量与后台传递的对象进行绑定...
6. **创建Freemarker模板**:在项目的视图目录下创建Freemarker模板文件,使用Freemarker语法将数据渲染到页面上。 通过以上步骤,我们便成功地整合了Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3,实现了MVC架构...
项目文件"jinandi"可能包含了该项目的所有源码,包括Freemarker模板文件、Spring配置文件、Java源代码以及JTable相关的JavaScript和CSS文件。开发者可以通过阅读这些文件,了解各个组件是如何协同工作的,从而学习和...
开发者可以研究这些文件,了解实际项目中的实现方式,包括如何配置Spring MVC,如何创建和组织FreeMarker模板,以及如何在控制器中处理业务逻辑。 学习这个实例,开发者不仅能掌握Spring MVC的基本使用,还能理解...
综上所述,"Spring3.1整合FreeMarker2.3.19"涉及的关键技术点包括Spring MVC的配置、FreeMarker模板的编写和使用,以及两者之间的数据绑定和交互。在实际开发中,结合标签和源码分析,能更好地理解和应用这一整合。
视图则通常是JSP、Thymeleaf、FreeMarker等模板引擎,用于渲染数据并返回给客户端。视图解析器(ViewResolver)在其中起到了关键作用,它根据逻辑视图名来找到实际的视图资源。 在配置方面,Spring MVC使用XML或...
7. **多视图解析器**:Spring MVC支持多种视图解析器,如JSP、FreeMarker、Thymeleaf等,可以根据项目需求灵活选择。 8. **模板引擎集成**:例如,与Thymeleaf的集成使得开发者能编写声明式逻辑的模板,提高了视...
Spring MVC整合Freemarker及使用方法 Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,主要用于开发Web应用程序。它实现了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动...
1. **设置项目结构**:在Web应用中,通常会将Spring MVC相关的配置文件(如`dispatcher-servlet.xml`)放在`WEB-INF`目录下,而JSP页面和FreeMarker模板文件通常放在`jsp`或`WEB-INF/views`目录下。 2. **引入依赖*...