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

SpringMVC+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

 

分享到:
评论

相关推荐

    Maven+SpringMVC+Freemarker Demo

    **Maven+SpringMVC+Freemarker Demo详解** 在Web开发中,Maven、SpringMVC和Freemarker是三个关键的组件,它们分别负责构建管理、业务逻辑处理和视图展示。这个"Maven+SpringMVC+Freemarker Demo"是一个基础的Web...

    SpringBoot+SpringMVC+Freemarker实现单个上传和多个文件上传

    SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,...

    maven+springmvc+spring+hibernate+freemarker

    maven管理项目+springmvc+spring+hibernate+freemarker 集成框架。其中注解格式清晰,hibernate进行了代码封装,对开发效率有了提高,对异常进行了封装。freemarker也有优化,参考common包下。对日期工具类有各种...

    SpringMVC+Freemarker+Hibernate整合范例

    4. **整合流程**:在SpringMVC+Freemarker+Hibernate整合中,通常会首先配置Spring的ApplicationContext,包括DataSource、SessionFactory、HibernateTemplate或JPA的相关配置。接着,定义Controller,处理HTTP请求...

    springmvc+freemarker+easyUi 框架

    在 "springmvc+freemarker+easyUi" 的集成应用中,Spring MVC 处理用户的请求,调用业务逻辑,将处理结果封装为模型数据。这些数据随后被传递给 Freemarker 模板,Freemarker 根据模板规则将数据渲染成HTML。最后,...

    springmvc+freemarker+shiro

    在这个"springmvc+freemarker+shiro"的小Demo中,开发者可能已经展示了如何将这三个组件集成到一个项目中。SpringMVC处理HTTP请求,调用业务逻辑,然后将数据传递给FreeMarker模板进行渲染。同时,Shiro负责用户的...

    springMvc+freemarker

    在这个"springMvc+freemarker"的项目中,我们可以看到作者用Spring MVC与FreeMarker模板引擎集成创建了一个示例应用。 首先,Spring MVC框架的主要组件包括DispatcherServlet、Controller、Model、View和...

    springMVC+freemarker整合实例

    SpringMVC和FreeMarker是两种在Java Web开发中广泛使用的技术。SpringMVC是一个轻量级的、基于组件的Web应用框架,它负责处理HTTP请求并分发到对应的控制器进行处理。而FreeMarker则是一个模板引擎,用于动态生成...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    大型商城网站springmvc+freemarker+velocity+ibatis

    标题 "大型商城网站springmvc+freemarker+velocity+ibatis" 暗示了这是一个基于SpringMVC、Freemarker、Velocity和iBatis框架构建的电子商务平台。这个项目可能是一个B2C(Business-to-Consumer)类型的商城,允许...

    springmvc+freemarker带sql的登录事例

    总之,这个"springmvc+freemarker带sql的登录事例"是一个基本的Web应用实践,涵盖了Spring MVC的请求处理、FreeMarker模板的使用以及与数据库的交互。通过这个实例,开发者可以学习到如何将这些组件整合起来,构建一...

    maven+springMvc+freemarker

    `Maven`、`Spring MVC`和`FreeMarker`是Java开发领域中常用的三个工具,它们各自扮演着关键角色,共同构建了一个强大的开发框架。下面我们将深入探讨这三个技术及其在实际项目中的应用。 **Maven** Maven是一个项目...

    【ssm框架】 spring+springMVC+mySQL+myBatis+freemarker+Maven小示例1

    在SpringMVC中,Freemarker模板文件与Java对象结合,生成最终的视图响应。 **Maven**:Maven是项目管理和综合工具,它定义了项目构建的生命周期,管理项目的依赖关系。在这个小示例中,Maven将帮助我们构建项目,...

    springmvc+freemarker

    总结来说,"springmvc+freemarker"的组合是构建现代Java Web应用的高效方式。Spring MVC提供强大的请求处理能力,Freemarker提供简洁的模板语法生成动态内容,而MyBatis则简化了数据库操作。这三者结合,能够帮助...

    springMVC+freemarker框架

    **SpringMVC与FreeMarker框架详解** SpringMVC和FreeMarker是Java Web开发中的两个重要组件,它们在构建高效、可维护的Web应用程序中扮演着关键角色。SpringMVC是Spring框架的一部分,主要负责处理HTTP请求和响应,...

    springmvc+mybatis 和一个简单的freemarker代码生成工具

    在IT行业中,SpringMVC、MyBatis以及FreeMarker是三个非常重要的技术组件,它们各自在Web开发领域中扮演着不同的角色。SpringMVC作为Spring框架的一部分,是用于构建MVC(Model-View-Controller)架构的轻量级Web...

    SpringMVC+Hibernate+Freemarker 干净的框架

    SpringMVC、Hibernate和Freemarker是Java Web开发中三个重要的技术组件,它们共同构建了一个高效、灵活且可维护的Web应用框架。SpringMVC作为Spring框架的一部分,负责处理HTTP请求和响应,提供模型-视图-控制器...

    dubbo+zookeeper+SpringMVC+Spring+Mybatis+Freemarker集成

    本项目“dubbo+zookeeper+SpringMVC+Spring+Mybatis+Freemarker集成”正是一个典型的分布式服务架构,它结合了多个核心技术,旨在提供高效、可扩展的业务处理能力。 首先,Dubbo是一个由阿里巴巴开源的高性能Java ...

    springmvc+mybatis+redis+shiro+bootstrap+freemarker+jsp+logback框架

    springmvc+mybatis+redis+shiro+bootstrap+freemarker+jsp+logback框架,几乎集合了所有企业开发技术,可以下载下来直接使用,任务调度,登陆拦截应有尽有

    idea工具创建的Spring+SpringMVC+Hibernate+maven项目

    在实际操作中,你可能还会接触到JDBC、模板引擎(如Thymeleaf或FreeMarker)、单元测试和集成测试等概念。 在压缩包文件"Ksoftware"中,你可能会找到以下文件和目录: - `pom.xml`:Maven的项目对象模型文件,包含...

Global site tag (gtag.js) - Google Analytics