Freemarker使用總結
阿新 • • 發佈:2017-11-25
-c meta class view word ont marker nat title
spring mvc 中 Freemarker 獲取項目根目錄,方便HTML頁面配置各種路徑
在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" />
<property name="requestContextAttribute" value="request" />
<property name="cache" value="true" />
<property name="order" value="0" />
</bean>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
其中property name=”requestContextAttribute” value=”request”是關鍵。
意思是把Spring的RequestContext對象暴露為變量request
利用${request.contextPath}來獲取應用程序的contextPath
如果是集成了Springboot,在配置文件中,只需要設置
spring.freemarker.request-context-attribute=request 即可
ftl中的頁面設置如下:
<#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
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
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);
}
});
Freemarker使用總結