0
我使用Freemarker作为Spring MVC应用程序的视图技术。我需要找到服务器的名称和方案,没有任何我尝试似乎工作。在JSP中,有一个隐含的request
对象可能会有这个信息,但Freemarker似乎没有等效。我将春季requestContext
公开为rc
,但rc.request
为空。使用Spring MVC获取Freemarker中的服务器名称和方案?
这里是我的视图解析器配置:
<bean id="freemarkerViewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="cache" value="false" />
<property name="suffix" value=".ftl" />
<property name="order" value="1" />
<property name="exposeRequestAttributes" value="true" />
<property name="requestContextAttribute" value="rc" />
<property name="exposeSpringMacroHelpers" value="true" />
</bean>
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPaths">
<list>
<value>${freemarker.templatePath}</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8" />
</bean>
嗯,这应该工作。我想我可以为了完整性而投入“响应”和“会话”。我只是想知道为什么它不这样做? – jiggy
Spring-MVC已经将该请求公开给模板,但是被封装为FreeMarker HttpRequestHashModel,它只提供对servlet请求属性的访问,但不请求像serverName或scheme这样的属性。 – Chaquotay