FreeMarker - Получить текущий URL - PullRequest
10 голосов
/ 08 июля 2010

Возможно ли получить URL текущей страницы в FTL?

Ответы [ 5 ]

8 голосов
/ 09 июля 2010

Насколько я могу судить, freemarker - это строго шаблонизатор - он просто создает текст и не имеет возможности узнать, где этот текст появится.Если вы хотите включить «URL-адрес текущей страницы», вам придется либо передать эти данные в шаблон из кода Java хоста (рекомендуется), либо обнаружить его на стороне клиента с помощью javascript.

5 голосов
/ 27 февраля 2015

Я использую Spring 3.2.x и для exposeSpringMacroHelpers по умолчанию установлено значение true.

Согласно Пружинная документация

Укажите, нужно ли предоставлять RequestContext для использования макросом Spring библиотека, под названием "springMacroRequestContext". По умолчанию "Истинный".

На мой взгляд, я могу сделать что-то вроде

<#if springMacroRequestContext.requestUri?contains("/login")>

Надеюсь, это поможет.

3 голосов
/ 17 июля 2014

Да, это возможно. Убедитесь, что вы добавили «exposeSpringMacroHelpers» для своего средства распознавания в контексте приложения.

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="exposeSpringMacroHelpers" value="true" />
    <property name="prefix" value="/view/" />
    <property name="suffix" value=".ftl" />
</bean>

Затем вызовите $ {springMacroRequestContext.getRequestUri ()} в вашем шаблоне

<span>This page's url is: ${springMacroRequestContext.getRequestUri()}</span>
3 голосов
/ 01 марта 2012

Как дополнение: если вы используете FreemarkerServlet, хеш с именем «Запрос» передается каждому шаблону, который должен иметь один ключ requestURL в соответствии с документацией здесь .

0 голосов
/ 22 февраля 2017

Просто используйте эту строку:

<#assign url = http.request.url />
${url}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...