0 0

Spring mvc整合Freemarker后,前台标签取值,直接显示标签字符问题15

初次使用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还依赖了其他的包?请各位大侠解救,谢谢!

引入包如下:

2014年8月26日 09:27

1个答案 按时间排序 按投票排序

0 0

Freemarker默认是不支持EL标签的,它有自己的一套标签库

2014年8月26日 16:03

相关推荐

    Spring MVC整合FreeMarker

    **Spring MVC 整合 FreeMarker 知识点详解** Spring MVC 是一款强大的、基于 Java 的 Web 开发框架,用于构建可维护的、模块化的、松耦合的 Web 应用程序。而 FreeMarker 是一个模板引擎,允许开发者将业务逻辑与...

    spring mvc +freemarker不错的mvc搭配

    标签“源码”和“工具”可能指的是提供的`TestSpringMvcPrj`压缩包中包含了示例项目或工具,帮助开发者更好地理解和学习Spring MVC与FreeMarker的集成。这个项目可能包含了一个运行示例,展示如何配置、创建控制器、...

    Spring3.1整合FreeMarker2.3.19

    标题“Spring3.1整合FreeMarker2.3.19”指的是在Spring 3.1版本的框架中集成FreeMarker 2.3.19模板引擎的过程和相关知识点。FreeMarker是一个开源的Java库,用于生成动态HTML、XML或其他类型的文本,常用于Web应用...

    Spring MVC and FreeMarker Sample

    **Spring MVC与FreeMarker整合应用详解** Spring MVC是Spring框架的一部分,它是一个强大的Web应用程序开发模型,用于构建灵活、可维护的Java Web应用。而FreeMarker则是一个模板引擎,允许开发者将逻辑代码与呈现...

    spring MVC + freeMarker

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

    spring mvc freemarker 自定义标签

    下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础。Freemarker是一个基于模板的语言,它的主要任务是根据数据模型生成输出。在Spring MVC中,Freemarker模板通常用于...

    spring mvc freemarker 简单例子

    - 启动Spring MVC应用,访问`http://localhost:8080/hello?name=YourName`,浏览器将显示由Freemarker模板渲染后的页面,其中`YourName`替换为传入的参数。 通过这个简单的例子,我们可以看到Spring MVC和...

    spring mvc +freemarker不错的mvc搭配1.1

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

    Spring3.2.1MVC+Freemarker简单示例

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

    spring mvc mybatis freemarker 开发CMS代码

    通过学习和研究这个项目,开发者可以深入了解如何在实际项目中整合Spring MVC、MyBatis和Freemarker,以及如何设计和实现一个功能完善的CMS系统。同时,这也是对小伍讲师教学内容的实践验证,有助于提升开发者在企业...

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

    在本项目中,Freemarker将与Spring MVC协同工作,接收由后端Controller处理的数据,根据模板生成响应的网页内容,用于显示和编辑数据。 **Spring Security** 是Spring框架的一个子项目,专注于应用安全。它提供了...

    Spring MVC整合 freemarker及使用方法

    Spring MVC整合Freemarker及使用方法 Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,主要用于开发Web应用程序。它实现了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动...

    spring MVC3 集成 freemarker

    **Spring MVC3 集成 FreeMarker 概述** Spring MVC 是一个强大的MVC框架,用于构建基于Java的Web应用程序。它提供了模型、视图和控制器的分离,使得开发过程更加模块化,易于维护。而FreeMarker则是一个模板引擎,...

    Spring 3 mvc + Freemarker 框架例子

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

    spring mvc 3.0-mybatis-freemarker整合

    在本项目中,我们主要探讨的是如何将Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3 这三个强大的技术框架整合在一起,以构建一个高效且灵活的Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...

    Spring MVC + Tiles + FreeMarker 的整合

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

    spring与freemarker整合 示例源码

    本文将详细探讨Spring与Freemarker的整合过程,以及如何在实际项目中利用它们实现高效的MVC架构。 首先,Spring框架提供了对多种视图技术的支持,包括JSP、Thymeleaf和Freemarker等。整合Freemarker主要是为了让...

    spring mvc整合freemarker基于注解方式

    Spring MVC整合FreeMarker基于注解方式的实现涉及到Spring框架和FreeMarker模板引擎的配置以及控制器层的注解使用。在这个过程中,需要配置Spring MVC的DispatcherServlet以及相应的视图解析器,然后通过注解@...

    spring3 mvc restful freemarker jquery json

    综上所述,这个整合架构提供了一种高效的Web开发模式,Spring3 MVC处理后端逻辑,RESTful设计优化了接口,FreeMarker生成动态页面,jQuery简化了前端交互,而JSON则作为数据交换的桥梁。这样的组合能够帮助开发者...

    spring mvc, tiles, freemarker集成

    标题中的“Spring MVC, Tiles, Freemarker集成”指的是在Java Web开发中,将Spring MVC作为控制器框架,Tiles作为页面布局工具,而Freemarker作为视图模板引擎进行整合使用的技术方案。这种集成可以帮助开发者构建...

Global site tag (gtag.js) - Google Analytics