1.部分关于Velocity的配置
spring-mvc.xml
<!-- Velocity视图解析器 默认视图 -->
<bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="viewNames" value="*.html" />
<property name="suffix" value=""/>
<property name="dateToolAttribute" value="date" />
<property name="numberToolAttribute" value="number" />
<property name="toolboxConfigLocation" value="/WEB-INF/velocity-toolbox.xml" />
<property name="requestContextAttribute" value="rc"/>
<property name="order" value="0"/>
</bean>
<bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/,/WEB-INF/page" />
<property name="velocityProperties">
<props>
<prop key="input.encoding">UTF-8</prop>
<prop key="output.encoding">UTF-8</prop>
<prop key="contentType">text/html;charset=UTF-8</prop>
</props>
</property>
</bean>
velocity-toolbox.xml
<?xml version="1.0" encoding="UTF-8" ?> <toolbox> <!-- velocity 自定义标签 --> <tool> <key>shiro</key> <scope>application</scope> <class>com.ylz.VelocityShiro</class> </tool> <data type="String"> <key>WebsiteVersion</key> <value>Version 2.0.0</value> </data> </toolbox>
配置重点:resourceLoaderPath,模板放置路径(个人理解,模板将处理此路径下的对应的文件可以是 html 也可以是其他)
2.注意要点
Velocity解析 Controller 层返回的数据来调用页面
所以需要 写 Controller
@Controller public class SysPageController { @RequestMapping("{url}.html") public String goToHtml(@PathVariable("url") String url){ return url + ".html"; } }
spring mvc中的@PathVariable是用来获得请求url中的动态参数的
例如:
@RequestMapping("page/{url}.html") public String generator(@PathVariable("url") String url){ return "page/" + url + ".html"; }