Spring MVC 中能否一个dispathcer-servlet.xml配置多个velocity模板?

发布于 2021-11-11 15:59:30 字数 2193 浏览 635 评论 1

在使用Spring MVC 3.0.5时,Controller类中方法返回指定的vm文件时,总是跳转至dispatcher-servlet.xml配置文件设定的layoutUrl指定的vm文件,配置的相关<bean>如下:

<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.velocity.VelocityLayoutView">
        </property>
        <!--是否缓存模板-->
        <property name="cache" value="false" />
        <property name="contentType" value="text/html;charset=UTF-8"></property>
        <!--是否使用spring对宏定义的支持-->
        <property name="exposeSpringMacroHelpers" value="true"></property>
        <property name="prefix" value="velocity/"></property>
        <property name="suffix" value=".vm"></property>
        <!--toolbox配置文件路径-->
        <property name="toolboxConfigLocation"
            value="/WEB-INF/velocity/velocity-tools.xml">
        </property>
        <property name="layoutUrl" value="velocity/myLayout.vm"></property>
        <property name="layoutKey" value="layout"></property>
        <property name="screenContentKey" value="screen_content"></property>
    </bean>

该属性(红色部分)去掉就报错,但是设定的话只跳转myLayout.vm,即使在Controller方法中返回值不是"myLayout"也是显示myLayout.vm内容,请问是否一个dispatcher-servlet.xml是否只能指向一个vm文件,是否能够让Controller类中的方法返回指定返回的vm,不受layoutUrl的限制?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

噩梦成真你也成魔 2021-11-16 06:47:31

#set($layout = "layout/new_template.vm") 为什么我这样写没起作用呢??

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文