`

spring mvc + freemarker

 
阅读更多

springMVC整合大家都比较熟悉了吧主要有以下几个步骤:

在web.xml配置

<listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
 </listener> 

//上面的listener主要是启动spring容器

 <servlet> 
     <servlet-name>spring</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
 </servlet> 
 <servlet-mapping> 
     <servlet-name>spring</servlet-name> 
     <url-pattern>*.do</url-pattern> 
 </servlet-mapping>

//上面是定义一个servlet ,DispatcherServlet主要是启动mvc框架的。也就是以do结尾的请求都转发到这个dispatchServlet然后由他转发到相应的controller。

<!--
 springMVC的servlet,它将加载WEN
-
INF
/
spring
-
servlet.xml的配置文件,启动springMVC模块 
-->


定义spring—servlet.xml(上面的DispatcherServlet名+servlet.xml)

        <!--注解说明-->

      <context:annotation-config />
       <!-- 把标记了@Controller注解的类转换为bean --> 
      <context:component-scan base-package="com.Springmvc.control" /> 
  <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射   请求映射--> 
      <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />  
     
 
 <!-- freemarker的配置 -->
 <bean id="freemarkerConfig"
  class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
  <property name="templateLoaderPath" value="/WEB-INF/view/" />
  <property name="defaultEncoding" value="utf-8" />
  <property name="freemarkerSettings">
   <props>
    <prop key="template_update_delay">10</prop>
    <prop key="locale">zh_CN</prop>
    <prop key="datetime_format">yyyy-MM-dd</prop>
    <prop key="date_format">yyyy-MM-dd</prop>
    <prop key="number_format">#.##</prop>
   </props>
  </property>
 </bean>
 <!-- FreeMarker视图解析   如返回student。。在这里配置后缀名ftl和视图解析器。。-->
 <bean id="viewResolver"
  class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  
  <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"></property>
  
  <property name="suffix" value=".ftl" />
  <property name="contentType" value="text/html;charset=utf-8" />
  <property name="exposeRequestAttributes" value="true" />
  <property name="exposeSessionAttributes" value="true" />
  <property name="exposeSpringMacroHelpers" value="true" />
 </bean>
 exposeRequestAttributes  exposeSessionAttributes两个属性都被设置为true。结果是请求和会话属性都被复制到模板的属性集中,可以使用FreeMarker的表达式语言来访问并显示。

使用这些宏,必须设置 FreeMarkerViewResolver exposeSpringMacroHelpers 属性为 true

然后controller的的内容如下:

@Controller
@RequestMapping("addStudent.do")
public class StudentControl {

 @Autowired
 private StudentService studentService;

 @RequestMapping(params = "method=add")
 public String addStudent(HttpServletRequest request,ModelMap model,Student student) throws IOException, TemplateException {

  studentService.addStudent(student);
         List<Student> list = studentService.findStudentAll();
  
  model.addAttribute("studentlist", list);//request保存这个对象
  return "student";
 }

在controller中保持了studentlist(存储在request中)

 

在freemarker中
      <table>
      <tr><td>index</td><td>username</td><td>password</td><td>id</td></tr>
      <#list studentlist as student> 
       <tr><td>${student_index}</td><td>${student.user?if_exists}</td><td>${student.psw?if_exists}</td><td>${student.id?if_exists}</td</tr>
      </#list>
      </table>

 

 

  1. <!-- 1:对web包中指定包中所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->   
  2.     < context:component-scan   base-package = "com.zhang.controller.anno"   />   
  3.   
  4.     <!-- 2:启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->   
  5.     < bean   
  6.         class = "org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"   />   
  7.   
  8.     <!-- Spirng 默认启动三个apapter 如果自定义了一个会忽略其他的,当 beanNameUrlMapping 与annotation同时存在时要显示声明   
  9.         所有 即:当注解形式与声明形式同时开发时需要执行一下三行 < bean   class = "org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"    
  10.         />   < bean   class = "org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"    
  11.         />   < bean   class = "org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"    
  12.         />  -- >
分享到:
评论

相关推荐

    spring mvc +freemarker不错的mvc搭配1.1

    spring mvc +freemarker不错的mvc搭配 原文: http://lavafree.iteye.com/blog/1096699 一、原来的程序有问题,导致maven无法编译运行。修改后解决了maven无法编译打包运行的问题,运行通过。 1.pom.xml 增加了必需的...

    spring MVC + freeMarker

    Spring MVC 和 FreeMarker 是两个在Java Web开发中广泛使用的框架,它们共同构建了一个高效、灵活的Web应用程序。Spring MVC是Spring框架的一部分,主要用于处理HTTP请求和响应,而FreeMarker则是一个模板引擎,用于...

    spring mvc +freemarker不错的mvc搭配

    Spring MVC 是一个强大...在Spring MVC中集成FreeMarker,首先需要在项目的配置文件(如`servlet-context.xml`)中配置FreeMarker视图解析器。这通常包括指定模板目录、编码格式和是否缓存模板等设置。例如: ```xml ...

    struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版

    struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...

    Spring 3 mvc + Freemarker 框架例子

    在本例子中,我们将深入探讨如何将Spring MVC与Freemarker模板引擎结合使用。 Freemarker是一个开源的模板引擎,用于生成动态HTML、XML或其他格式的文本。它不依赖任何Web容器,仅需要一个解析器来处理模板文件。...

    Spring mvc+hibernate+freemarker(开源项目)

    ### Spring MVC + Hibernate + FreeMarker 开源项目解析 #### 一、项目背景与技术栈介绍 本项目基于Spring MVC框架,结合Hibernate ORM工具以及FreeMarker模板引擎构建,旨在为初学者提供一个完整的Web应用程序...

    整合 freemarker +spring security + spring MVC + spring DATA jpa 前端jtable 简单的crud

    本项目结合了Freemarker、Spring Security、Spring MVC和Spring Data JPA,旨在实现前端JTable的简单CRUD(创建、读取、更新、删除)功能。以下是这些技术的详细介绍及其在项目中的应用。 **Freemarker** 是一个...

    Spring3.2.1MVC+Freemarker简单示例

    在本文中,我们将深入探讨如何使用Spring 3.2.1 MVC框架与Freemarker模板引擎结合,构建一个简单的Web应用程序。Spring MVC是Spring框架的一部分,它为开发RESTful Web服务提供了强大的支持,而Freemarker则是一个轻...

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

    总结来说,本项目是一个基础的Web开发框架,结合了SpringMVC的MVC设计模式、Spring Data JPA的数据访问层、Hibernate的ORM能力以及FreeMarker的模板引擎,同时还实现了环境配置的灵活切换,为开发高效、可维护的Web...

    spring mvc 3.2 + mybatis3.2 + freeMarker

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

    spring mvc + hibernate + freemarker开源项目源码下载.zip

    《Spring MVC + Hibernate + Freemarker 开源项目源码解析》 在现代Web开发中,Spring MVC、Hibernate和Freemarker是三个非常重要的技术组件,它们分别承担着不同的职责,共同构建了一个高效、灵活且可扩展的后端...

    spring boot+mybatis+spring mvc+bootstrap开发停车位管理系统(调用百度地图API).rar

    本文将详细讲解如何使用Spring Boot、MyBatis、Spring MVC和Bootstrap技术栈开发一个停车位管理系统,并结合百度地图API实现车位的定位与导航功能。这些技术是现代Web开发中常用且强大的工具,它们各自承担着不同的...

    springmvc-freemarker-scala:spring mvc + freemarker + scala

    在Spring MVC+Freemarker+Scala的组合中,Scala作为业务逻辑层,负责处理复杂的计算和数据处理,而Freemarker则专注于视图渲染。通过`ModelAndView`或`Model`对象,可以将Scala计算的结果传递给Freemarker模板。在...

    maven+springmvc+spring+hibernate+freemarker

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

    Spring MVC + Tiles + FreeMarker 的整合

    在本文中,我们将深入探讨如何将Spring MVC、Tiles和FreeMarker三个强大的技术框架整合到一个Web应用程序中。Spring MVC作为Spring框架的一部分,提供了一个模型-视图-控制器(MVC)架构,使得开发者能够轻松地处理...

    spring mvc+freemaker 开发实例

    Spring MVC 和 FreeMarker 是两种广泛应用于Java Web开发的技术。Spring MVC是Spring框架的一部分,它提供了一个用于构建MVC(Model-View-Controller)结构的轻量级、灵活的解决方案,而FreeMarker则是一个模板引擎...

    最新ssm:Spring + SpringMVC + Mybatis + FreeMarker 整合示例

    所用jar包均是目前位置最新版本:201710最新版: spring mvc4.3.12 , mybatis: 3.4.5 , FreeMarker : 2.3.26。 有mysql数据库脚本。导入即可使用。有个简单的使用文档,希望能助你一臂之力 节省开发时间 提升效率。

    Spring MVC+MyBatis+FreeMarker整合开发java CMS内容发布系统easycms开源系统

    综上所述,easycms开源系统利用了Spring MVC的MVC架构来处理Web请求,MyBatis来处理数据库操作,FreeMarker则作为模板引擎生成动态视图。这样的组合为开发高效、灵活的内容管理系统提供了坚实的基础。通过学习和使用...

    spring mvc+spring+maven框架项目,纯净项目

    Spring MVC、Spring 和 Maven 是Java开发中非常重要的三个框架,它们在构建现代企业级Web应用程序中扮演着核心角色。这个"spring mvc+spring+maven框架项目"提供了一个纯净的基础,便于开发者快速搭建和理解这三者...

Global site tag (gtag.js) - Google Analytics