Freemarker获取项目根目录

简介: Freemarker获取项目根目录


  1. 在SpringMVC框架中使用Freemarker视图时,要获取根路径的方式如下:
<!-- FreeMarker视图解析 如返回userinfo。。在这里配置后缀名ftl和视图解析器。。 -->
<bean id="viewResolverFtl"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
    <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" />
    <!--关键:把Spring的RequestContext对象暴露为变量request利用${request.contextPath}来获取应用程序的contextPath-->
  <!--如果是集成了Springboot,在配置文件中,只需要设置spring.freemarker.request-context-attribute=request 即可-->
    <property name="requestContextAttribute" value="request" />
    <property name="cache" value="true" />
    <property name="order" value="0" />
</bean>
  1. ftl中的页面设置如下:
<!--freemarker配置获得项目根路径-->
<#assign ctx=request.contextPath />
<!DOCTYPE html>
<html lang="zh">
<head>
    <base id="ctx" href="${ctx}">
    <title>首页</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link href="${ctx}/static/bootstrap-3.3.4/css/bootstrap.min.css" rel="stylesheet">
    <script src="${ctx}/static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
  1. js文件中获取path
var base = document.getElementById("ctx").href;
// 与后台交互
$.ajax({
        url : base + '/' + url,
        data : value,
        dataType : 'json',
        type : 'post',
        success : function(data) {
            success(data);
        },
        error : function(data) {
            error(data);
        }
});


相关文章
|
Java 持续交付
SpringBoot项目打包分离lib,配置和资源文件部署总结
前言 半自动化部署     (1)当前目录的config目录下     (2)当前目录     (3)classpath的config目录下     (4)classpath的根目录 全自动化部署
843 0
|
6天前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
40 1
SpringBoot获取项目文件的绝对路径和相对路径
freemarker报错500, 无法跳转到templates目录下的 index.ftl 文件问题解决
freemarker报错500, 无法跳转到templates目录下的 index.ftl 文件问题解决
|
6月前
|
编译器
关于查看U-Boot目录结构关键目录介绍
关于查看U-Boot目录结构关键目录介绍
75 0
|
Cloud Native Java Go
Springboot 获取 /resources 目录资源文件的 9 种方法
Springboot 获取 /resources 目录资源文件的 9 种方法
1756 0
|
前端开发 JavaScript Java
springboot访问templates下的html页面
springboot访问templates下的html页面
518 0
springboot访问templates下的html页面
|
前端开发 Java 应用服务中间件
Servlet 目录(pom.xml内容) 和 打包的两种方法
Servlet 目录(pom.xml内容) 和 打包的两种方法
126 0
Servlet 目录(pom.xml内容) 和 打包的两种方法
|
JSON 前端开发 JavaScript
【知识】SpringBoot项目结构目录
【知识】SpringBoot项目结构目录
774 0
【知识】SpringBoot项目结构目录
spring-boot项目打包去掉BOOT-INF文件夹
今天创建了一个SpringBoot项目A,打成jar后,在另一项目B中依赖A项目,因为A项目打包后出现了BOOT-INF文件夹
spring-boot项目打包去掉BOOT-INF文件夹