初次使用Freemarker,在整合Spring mvc时出现在ftl页面中标签直接显示出来了,如下:
搞了很久,都没找出问题所在,工程配置如下:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="cms" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring/applicationContext*.xml
</param-value>
</context-param>
<!-- spring mvc 配置 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- spring 配置文件,名称的路径都可以配置,如果不配置此项则自动扫描/WEB-INF/springmvc-servlet.xml,此文件名规则为servlet名-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc-*.xml</param-value>
<!-- 加载多个配置文件 <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/conf/applicationContext_*.xml,
/WEB-INF/conf/user-servlet.xml </param-value> -->
</init-param>
<!--servlet加载方式,启动容器时加载 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 拦截所有请求 -->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring 加载log4j配置文件 -->
<context-param>
<param-name>log4jConfigLoaction</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- 刷新Log4j配置文件的间隔,60秒 -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!--可选配置,定义web 应用的别名,如果不设置,缺省为"webapp.root",当tomcat加载多个项目时,会发生名称冲突 -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webName.root</param-value>
</context-param>
<!-- 静态资源处理 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.js</url-pattern>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<!-- Spring 加载 Log4j 的监听器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 防止内存泄漏 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
<!-- init servlet -->
<servlet>
<servlet-name>SystemInitServlet</servlet-name>
<servlet-class>
com.dhf.cms.init.SystemInitServlet
</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>base/admin/index.action</welcome-file>
</welcome-file-list>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/view/error500.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/view/error404.jsp</location>
</error-page>
</web-app>
springmvc-servlet.xml也加入了:
<!-- Freemarker配置 -->
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/view/" />
<property name="freemarkerSettings">
<props>
<prop key="template_update_delay">0</prop>
<prop key="default_encoding">UTF-8</prop>
<prop key="number_format">0.##########</prop>
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="classic_compatible">true</prop>
<prop key="template_exception_handler">ignore</prop>
</props>
</property>
</bean>
<!--视图解释器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix">
<value>.ftl</value>
</property>
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
Controller代码:
@Controller
@RequestMapping(value = "base/admin")
public class AdminController
{
@RequestMapping(value = "/index", method = RequestMethod.GET)
public ModelAndView index(HttpServletRequest request)
{
Map<String,String> map = new HashMap<String,String>();
map.put("name", "dinghuafeng");
request.setAttribute("name", "message is added");
ModelAndView mv = new ModelAndView("index");
mv.addObject("name","aaaabbbbb");
//return new ModelAndView("/index",map);
return mv;
}
}
通过http://localhost:8080/cms/base/admin/index.action跳转都是正常,就是标签取值无法显示,是不是Freemarke还依赖了其他的包?请各位大侠解救,谢谢!
引入包如下:
相关推荐
**Spring MVC 整合 FreeMarker 知识点详解** Spring MVC 是一款强大的、基于 Java 的 Web 开发框架,用于构建可维护的、模块化的、松耦合的 Web 应用程序。而 FreeMarker 是一个模板引擎,允许开发者将业务逻辑与...
标签“源码”和“工具”可能指的是提供的`TestSpringMvcPrj`压缩包中包含了示例项目或工具,帮助开发者更好地理解和学习Spring MVC与FreeMarker的集成。这个项目可能包含了一个运行示例,展示如何配置、创建控制器、...
标题“Spring3.1整合FreeMarker2.3.19”指的是在Spring 3.1版本的框架中集成FreeMarker 2.3.19模板引擎的过程和相关知识点。FreeMarker是一个开源的Java库,用于生成动态HTML、XML或其他类型的文本,常用于Web应用...
**Spring MVC与FreeMarker整合应用详解** Spring MVC是Spring框架的一部分,它是一个强大的Web应用程序开发模型,用于构建灵活、可维护的Java Web应用。而FreeMarker则是一个模板引擎,允许开发者将逻辑代码与呈现...
Spring MVC 和 FreeMarker 是两个在Java Web开发中广泛使用的框架,它们共同构建了一个高效、灵活的Web应用程序。Spring MVC是Spring框架的一部分,主要用于处理HTTP请求和响应,而FreeMarker则是一个模板引擎,用于...
下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础。Freemarker是一个基于模板的语言,它的主要任务是根据数据模型生成输出。在Spring MVC中,Freemarker模板通常用于...
- 启动Spring MVC应用,访问`http://localhost:8080/hello?name=YourName`,浏览器将显示由Freemarker模板渲染后的页面,其中`YourName`替换为传入的参数。 通过这个简单的例子,我们可以看到Spring MVC和...
spring mvc +freemarker不错的mvc搭配 原文: http://lavafree.iteye.com/blog/1096699 一、原来的程序有问题,导致maven无法编译运行。修改后解决了maven无法编译打包运行的问题,运行通过。 1.pom.xml 增加了必需的...
在本文中,我们将深入探讨如何使用Spring 3.2.1 MVC框架与Freemarker模板引擎结合,构建一个简单的Web应用程序。Spring MVC是Spring框架的一部分,它为开发RESTful Web服务提供了强大的支持,而Freemarker则是一个轻...
通过学习和研究这个项目,开发者可以深入了解如何在实际项目中整合Spring MVC、MyBatis和Freemarker,以及如何设计和实现一个功能完善的CMS系统。同时,这也是对小伍讲师教学内容的实践验证,有助于提升开发者在企业...
在本项目中,Freemarker将与Spring MVC协同工作,接收由后端Controller处理的数据,根据模板生成响应的网页内容,用于显示和编辑数据。 **Spring Security** 是Spring框架的一个子项目,专注于应用安全。它提供了...
Spring MVC整合Freemarker及使用方法 Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,主要用于开发Web应用程序。它实现了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动...
**Spring MVC3 集成 FreeMarker 概述** Spring MVC 是一个强大的MVC框架,用于构建基于Java的Web应用程序。它提供了模型、视图和控制器的分离,使得开发过程更加模块化,易于维护。而FreeMarker则是一个模板引擎,...
在本例子中,我们将深入探讨如何将Spring MVC与Freemarker模板引擎结合使用。 Freemarker是一个开源的模板引擎,用于生成动态HTML、XML或其他格式的文本。它不依赖任何Web容器,仅需要一个解析器来处理模板文件。...
在本项目中,我们主要探讨的是如何将Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3 这三个强大的技术框架整合在一起,以构建一个高效且灵活的Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...
在本文中,我们将深入探讨如何将Spring MVC、Tiles和FreeMarker三个强大的技术框架整合到一个Web应用程序中。Spring MVC作为Spring框架的一部分,提供了一个模型-视图-控制器(MVC)架构,使得开发者能够轻松地处理...
本文将详细探讨Spring与Freemarker的整合过程,以及如何在实际项目中利用它们实现高效的MVC架构。 首先,Spring框架提供了对多种视图技术的支持,包括JSP、Thymeleaf和Freemarker等。整合Freemarker主要是为了让...
Spring MVC整合FreeMarker基于注解方式的实现涉及到Spring框架和FreeMarker模板引擎的配置以及控制器层的注解使用。在这个过程中,需要配置Spring MVC的DispatcherServlet以及相应的视图解析器,然后通过注解@...
综上所述,这个整合架构提供了一种高效的Web开发模式,Spring3 MVC处理后端逻辑,RESTful设计优化了接口,FreeMarker生成动态页面,jQuery简化了前端交互,而JSON则作为数据交换的桥梁。这样的组合能够帮助开发者...
标题中的“Spring MVC, Tiles, Freemarker集成”指的是在Java Web开发中,将Spring MVC作为控制器框架,Tiles作为页面布局工具,而Freemarker作为视图模板引擎进行整合使用的技术方案。这种集成可以帮助开发者构建...