Подтвердить что ты не робот

Как получить контекст запроса в шаблоне freemaker в spring

Как получить путь контекста запроса в шаблоне freemarker при использовании с spring.

Мой распознаватель выглядит так:

    <bean id="freeMarkerViewResolver" class="learn.common.web.view.FreemarkerViewResolver">
        <property name="order" value="1" />
        <property name="viewClass"
        value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
        <property name="suffix" value=".ftl" />
        <property name="cache" value="false" />
    </bean>

My view resolver learn.common.web.view.FreemarkerViewResolver расширяет org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver

Спасибо

4b9b3361

Ответ 1

В вашем представлении resolver вы можете добавить следующее свойство

<property name="requestContextAttribute" value="rc"/>

Затем в вашем шаблоне freemarker вы можете получить патч контекста запроса, например

${rc.getContextPath()}

Ответ 2

Если ваше требование - получить Контекстный путь в вашем представлении FTL, то Spring обеспечивает лучшую альтернативу - Первый импорт spring.ftl в вашем представлении

<#import "/spring.ftl" as spring />

Затем используйте макрос @ spring.url для URL-адреса, который вы хотите сообщить контексту -

<li id="history"><a href="<@spring.url '/rest/server/taskHistory'/>">History</a></li>

Это очень похоже на -

<li id="history"><a href="${rc.getContextPath()}/rest/server/taskHistory">History</a></li>