SpringMVC-Spring-Hibernate项目搭建之三-- freemarker & 静态资源整合

本文介绍如何在Spring MVC框架中整合Freemarker模板引擎,并实现静态资源的正确加载。主要内容包括配置Spring MVC以支持Freemarker视图解析、设置静态资源路径及缓存策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 前段目录结构如下架构如下:

  

 

二. freemarker文件配置

  在 web.xml 文件中指定 spring 配置文件的位置

  

 

三. 配置springmvc-servlet.xml文件

  1)配置自动扫描包 -- 能读取到@Controller相关java包;

  2)默认的注解映射的支持 -- 读取静态文件;

  3)设置freemarker 的配置文件;

  4)设置对静态资源文件的访问;  

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context="http://www.springframework.org/schema/context"
     xmlns:mvc="http://www.springframework.org/schema/mvc"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 
    
    <!-- 配置自动扫描的包 -->
    <context:component-scan base-package="com.ajs"></context:component-scan>
    <!-- 默认的注解映射的支持 -->  
       <mvc:annotation-driven />  
    
    <!-- freemarker 的配置文件 -->
    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
          <property name="templateLoaderPath" value="/WEB-INF/views"/>
    </bean>
    <!-- freemarker 配置视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
          <property name="cache" value="true"/>
          <property name="prefix" value=""/>
          <property name="suffix" value=".ftl"/>
    </bean>
    
    <!-- 对静态资源文件的访问(cache-period的作用暂时不知道) -->
    <mvc:resources mapping="/images/**" location="/META-INF/resources/images/" cache-period="31556926" />
    <mvc:resources mapping="/js/**" location="/META-INF/resources/js/" cache-period="31556926" />
    <mvc:resources mapping="/css/**" location="/META-INF/resources/css/" cache-period="31556926" />
    
</beans>

  上述配置完成之后,在项目中可以访问到对应目录下的静态资源(css/js/images/ftl等)

 

四. 配置spring.ftl对于读取静态资源

  在webmvc对应的目录下copy出对应的spring.ftl文件,放在我们自己的项目中(也可以不copy设置好对应路径直接使用),如下所示:

  

 

五. 在 ftl文件中使用静态资源,如下给出示例文件  

<#import "../spring.ftl" as spring/> <!-- 找到spring.ftl的相对路径-->
<!DOCTYPE html>  
<html>  
<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    <title>success</title> 
    
    <link rel="stylesheet" type="text/css" href="<@spring.url '/css/default.css'/>"/>
    <script type="text/javascript" src="<@spring.url '/js/jquery-1.12.3.min.js'/>"></script>
</head>  

<body class="bg">  
    <h4> success page</h4>
    <a href="../index">Index</a>
    <img src = "<@spring.url '/images/pig.png'/>"/>
    <button id="chgBg">chgBg</button>
</body>  

<script type="text/javascript">
    $(document).ready(function(){
      $("#chgBg").click(function(){
          $('body').css("background-color","yellow");
      });
    });
</script>
</html>  

  此时 freemarker & 静态资源整合即完成;

 

转载于:https://www.cnblogs.com/xx0405/p/5408689.html

JEECMS内容管理系统是国内java开源CMS行业知名度最高、用户量最大的站群管理系统。 功能: 信息管理 ├ 文章 ├ 相册 ├ 多媒体 ├ 视频 ├ 下载 ├ 作品 ├ 产品 ├ 文库 ├ 招聘 互动信息 ├ 留言与反馈 ├ 评论 ├ 投票调查 ├ 在线调查问卷/答卷 ├ 通知公告 ├ 领导信箱 ├ 站内信 ├ 广告管理 用户与权限 ├ 用户管理 ├ 会员组管理 ├ 会员组权限管理 ├ 信息发布审批 ├ 会员浏览权限 ├ 部门管理 ├ 工作流 日志管理 ├ 操作日志 ├ 稿件操作日志 ├ 登录日志 ├ 工作量统计 统计功能 ├ 会员注册统计 ├ 内容统计 ├ 评论统计 ├ 留言统计 ├ PV统计 ├ 独立IP统计 ├ 独立访客统计 ├ 人均浏览次数统计 ├ 来访网站统计 ├ 来访页面统计 ├ 搜索关键字统计 ├ 受访页面统计 ├ 地区分布统计 ├ 统计初始化 发布与部署 ├ 文章静态化 ├ 全站静态化 ├ FTP同步 ├ 服务器分布部署 ├ 批处理 (批量移动文章/栏目、批量删除、批量上传图片/附件等) ├ 一键排版 ├ 定时任务 ├ tag自动提取 站点配置 ├ 网站参数配置 ├ 用户注册配置 ├ RSS配置 ├ RSS订阅 ├ TAG管理 ├ 文件上传配置 ├ 模板管理 ├ 自定义模板 ├ 可视化模板编辑 ├ 全文检索 ├ 友情链接管理 系统管理 ├ 内容关键字管理 ├ 自定义模型管理(自定义栏目/内容模型,一个栏目支持多种内容模型) ├ 网页信息采集 ├ 模块管理 ├ 数据备份与恢复 ├ 网站防火墙 ├ 附件管理 ├ 字典管理 ├ 国际化(前后台可以设置成多语言,目前系统自带后台英文操作菜单) ├ 系统支持PC端、移动端访问 网站群 ├ 节点维护 ├ 节点独立管理 ├ 站点信息共享管理 ├ 站点信息推送 ├ 全站搜索
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值