Ajax 从freemarker获取请求头
我想用Ajax 从freemarker获取请求头,ajax,xmlhttprequest,freemarker,request-headers,Ajax,Xmlhttprequest,Freemarker,Request Headers,我想用Freemarker作为模板引擎在我的站点上创建AJAX导航。 如果使用XMLHttpRequest请求页面,则不需要包含页眉和页脚。代码如下所示: [#if !XMLHttpRequest] [#include "header.ftl"] [/#if] ${content} [#if !XMLHttpRequest] [#include "footer.ftl"] [/#if] 我的问题是如何定义该请求是随AJAX提供的。客户机添加了X-request-With:XML
Freemarker
作为模板引擎在我的站点上创建AJAX导航。
如果使用XMLHttpRequest
请求页面,则不需要包含页眉和页脚。代码如下所示:
[#if !XMLHttpRequest]
[#include "header.ftl"]
[/#if]
${content}
[#if !XMLHttpRequest]
[#include "footer.ftl"]
[/#if]
我的问题是如何定义该请求是随AJAX提供的。客户机添加了X-request-With:XMLHttpRequest头,我如何在Freemarker中获得它?
我试着在以下方面找到它:
但它抛出错误
表达式请求。头未定义。我还尝试使用RequestParameters,但它也无能为力。FreeMarker本身没有定义任何与HTTP相关的变量;它不像JSP,它是一个通用引擎;它只看到传递给它的变量,它不知道它们是什么。。。就FreeMarker而言,它们只是名称-值对。因此,如果您需要这些信息,那么您应该在操作中将其传递给FreeMarker(可能使用过滤器或拦截器或任何您拥有的东西进行全局传递),或者web应用程序框架应该这样做。谢谢。我必须编写自己的自定义FreeMarkerView,其中请求头放入模板模型,我的问题已经得到解决。
[#assign XMLHttpRequest = Request.headers['X-Requested-With']=="XMLHttpRequest" /]