实现COC原则无配置自动映射
引用
http://localhost:8080/jpetstore/index/index.html --> IndexController.index() --> /WEB-INF/ftl/index/index.flt
今天晚上试验了一下想象中的配置 成功了。
SPRING MVC + FREEMARKER 实现类似ROR的 URL 自动路由 COTROLLER 处理结果 根据URL 自动映射到 URL 对应的 FTL 模板文件。
下面我把配置文件贴出来看看。
修改了jpetstore的部分文件。包括 web.xml 将 .html的请求映射到spring mvc上。
修改 petstore-servlet.xml 当然还要改一改你的build.xml才能将新的ftl一起部署过去。
引用
<beans>
<!-- ========================= VIEW DEFINITIONS ========================= -->
<bean id="viewNameTranslator"
class="org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator"/>
<!-- -->
<!-- freemarker config -->
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/ftl/"/>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<!--prefix这个属性要注意,一开始我写成了/WEB-INF/ftl/找了半天告诉我找不到模板,原来是这里写错了。。-->
<property name="suffix" value=".ftl"/>
<!-- 如果你需要使用Spring 对 FreeMarker 宏命令的支持, 将这个属性设为true -->
<property name="exposeSpringMacroHelpers" value="true"/>
</bean>
<!-- ========================= DEFINITIONS OF PUBLIC CONTROLLERS ========================= -->
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping "/>
<bean id="index"
class="org.springframework.samples.jpetstore.web.spring.IndexController">
</bean>
</beans>
这个配置就可以实现我刚才说的映射渲染模板的方式了。效果还不错。
引用
org.springframework.samples.jpetstore.web.spring.IndexController
这个CONTROLLER 继承 MultiActionController 这样就可以实现
http://localhost:8080/jpetstore/index/index.html --> IndexController.index方法上。
http://localhost:8080/jpetstore/index/list.html --> IndexController.list方法上。
MultiActionController的子类写法有些特殊要求,需要小心。参考API可以看到它的方法签名需要是
引用
public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response);
我一开始把它的签名写成protected 就出错了。后台提示无法找到handler。具体用法请参考API
同时ftl模板的位置相应的是/WEB-INF/ftl/index/index.html以及 /WEB-INF/ftl/index/list.html
是不是舒服多了?其实用SPRING MVC 也能体验ROR一样的COC的。让那些无聊的配置文件走开!
分享到:
相关推荐
Spring MVC 是一个强大...在Spring MVC中集成FreeMarker,首先需要在项目的配置文件(如`servlet-context.xml`)中配置FreeMarker视图解析器。这通常包括指定模板目录、编码格式和是否缓存模板等设置。例如: ```xml ...
**Spring MVC与FreeMarker整合应用详解** Spring MVC是Spring框架的一部分,它是一个强大的Web应用程序开发模型,用于构建灵活、可维护的Java Web应用。而FreeMarker则是一个模板引擎,允许开发者将逻辑代码与呈现...
Spring MVC 和 FreeMarker 是两个在Java Web开发中广泛使用的框架,它们共同构建了一个高效、灵活的Web应用程序。Spring MVC是Spring框架的一部分,主要用于处理HTTP请求和响应,而FreeMarker则是一个模板引擎,用于...
**Spring MVC 整合 FreeMarker 知识点详解** Spring MVC 是一款强大的、基于 Java 的 Web 开发框架,用于构建可维护的、模块化的、松耦合的 Web 应用程序。而 FreeMarker 是一个模板引擎,允许开发者将业务逻辑与...
Spring MVC 和 Freemarker 是两种广泛应用于Java Web开发的技术。Spring MVC 是一个基于Spring框架的Model-View-Controller架构,用于构建高效、灵活的Web应用程序。而Freemarker 是一款强大的模板引擎,它与后端...
spring mvc +freemarker不错的mvc搭配 原文: http://lavafree.iteye.com/blog/1096699 一、原来的程序有问题,导致maven无法编译运行。修改后解决了maven无法编译打包运行的问题,运行通过。 1.pom.xml 增加了必需的...
【标题】"Spring MVC MyBatis Freemarker 开发CMS代码" 涉及到的是一个基于Java技术栈的内容管理系统(CMS)开发项目。这个项目利用了Spring MVC作为控制层框架,MyBatis作为数据访问层框架,以及Freemarker作为视图...
在本文中,我们将深入探讨如何使用Spring 3.2.1 MVC框架与Freemarker模板引擎结合,构建一个简单的Web应用程序。Spring MVC是Spring框架的一部分,它为开发RESTful Web服务提供了强大的支持,而Freemarker则是一个轻...
在本例子中,我们将深入探讨如何将Spring MVC与Freemarker模板引擎结合使用。 Freemarker是一个开源的模板引擎,用于生成动态HTML、XML或其他格式的文本。它不依赖任何Web容器,仅需要一个解析器来处理模板文件。...
Spring MVC 是一个强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。它与Spring框架紧密结合,提供了模型-视图-控制器(MVC)架构,使得开发人员能够轻松地处理HTTP请求、数据绑定和视图渲染。在这个...
**Spring MVC3 集成 FreeMarker 概述** Spring MVC 是一个强大的MVC框架,用于构建基于Java的Web应用程序。它提供了模型、视图和控制器的分离,使得开发过程更加模块化,易于维护。而FreeMarker则是一个模板引擎,...
下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础。Freemarker是一个基于模板的语言,它的主要任务是根据数据模型生成输出。在Spring MVC中,Freemarker模板通常用于...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个教程“Spring MVC - A Tutorial”旨在帮助开发者深入理解和掌握Spring MVC的核心概念和...
《Mastering Spring MVC 3中文版》是一本深入解析Spring MVC框架的专业书籍,它涵盖了Spring MVC的核心概念、设计原理以及实际应用。Spring MVC是Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器...
本项目结合了Freemarker、Spring Security、Spring MVC和Spring Data JPA,旨在实现前端JTable的简单CRUD(创建、读取、更新、删除)功能。以下是这些技术的详细介绍及其在项目中的应用。 **Freemarker** 是一个...
7. **多视图解析器**:Spring MVC支持多种视图解析器,如JSP、FreeMarker、Thymeleaf等,可以根据项目需求灵活选择。 8. **模板引擎集成**:例如,与Thymeleaf的集成使得开发者能编写声明式逻辑的模板,提高了视...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...
标题中的“Spring MVC, Tiles, Freemarker集成”指的是在Java Web开发中,将Spring MVC作为控制器框架,Tiles作为页面布局工具,而Freemarker作为视图模板引擎进行整合使用的技术方案。这种集成可以帮助开发者构建...
综上所述,这个整合架构提供了一种高效的Web开发模式,Spring3 MVC处理后端逻辑,RESTful设计优化了接口,FreeMarker生成动态页面,jQuery简化了前端交互,而JSON则作为数据交换的桥梁。这样的组合能够帮助开发者...