gpt4 book ai didi

java - 如何在 boot application.properties 中使用 spring 设置 velocity 布局目录和默认模板

转载 作者:行者123 更新时间:2023-11-30 10:59:35 29 4
gpt4 key购买 nike

如果我们不使用 spring boot,我们可以像这样使用 velocity.properties
tools.view.servlet.layout.directory =布局/
tools.view.servlet.layout.default.template=default.vm
或者在我们的springmvc项目中使用这个bean

<bean id="velocityViewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">
<property name="cache" value="false" />
<property name="layoutUrl" value="/layout/default.vm" />
<property name="prefix" value="/templates/" />
<property name="suffix" value=".vm" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="viewClass" value="org.springframework.web.servlet.view.velocity.VelocityLayoutView" />
<!-- <property name="toolboxConfigLocation" value="classpath:web/config/toolbox.xml" />
<property name="exposeSessionAttributes" value="true" /> -->
</bean>

但我想知道如何通过 application.properties 设置速度布局。而且我对application.properties中的“spring.velocity.properties.* =”也有些困惑。我们如何以及何时使用它。我找不到关于此的演示。

最佳答案

终于我解决了我的问题。请原谅我没有把问题描述清楚。我们在项目中使用 VelocityLayoutViewResolver 作为 viewClass,而 velocityViewResolver 在 spring boot 中是默认的 viewClass。另一方面,spring boot 支持 velocity-tools 2.0 .虽然spring 4.0没有。而且我一开始没有在spring boot中使用VelocityLayoutViewResolver配置velocity-tools 2.0。最后我通过这种方式解决了我的问题:

  <bean id="velocityViewResolver"       class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">
<property name="cache" value="false" />
<property name="layoutUrl" value="/layout/default.vm" />
<property name="prefix" value="/templates/" />
<property name="suffix" value=".vm" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="viewClass" value="org.springframework.web.servlet.view.velocity.VelocityLayoutView" />
<property name="attributesMap">
<map>
<entry key="csrfTool"><bean class="com.XXX.velocity.CSRFTool"/></entry>
<entry key="shiro"><bean class="com.XXX.velocity.Permission"/></entry>
</map>
</property>
</bean>

开始于

@Configuration
@SpringBootApplication
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(new String[] {
"classpath*:web/config/viewResolver.xml",
}, args);
}
}

非常感谢 Stéphane Nicoll 的回答。

关于java - 如何在 boot application.properties 中使用 spring 设置 velocity 布局目录和默认模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868176/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com