spring mvc+velocity中和jstl中的<c:import>类似的实现

发布于 2021-11-28 10:25:53 字数 2556 浏览 787 评论 3

初次使用velocity,将原先使用jsp的页面转为使用velocity进行页面展现,使用了spring mvc。

现在遇到一个问题,就是页面上需要发起一个请求去获取后台一个链接的结果,原先时使用的jstl实现,代码是

<c:import url="/menu/foot"/>
现在使用velocity该使用什么办法啊,网上有说使用velocity-tool的ImportTool,可是我反复按照官网的说明,把spring mvc的配置文件也改了,但是貌似没有对,希望有了解的来说说啊。

下面是一些相关的配置,目前除了上面说道的那个问题,其他是能够运行的,

spring mvc的配置:

<bean class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.velocity.VelocityToolboxView" />
        <property name="prefix" value="" />
        <property name="suffix" value=".vm" />
        <property name="contentType" value="text/html;charset=UTF-8" />
        <property name="toolboxConfigLocation" value="/WEB-INF/velocity-toolbox.xml" />
    </bean>

    <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
        <property name="resourceLoaderPath" value="/WEB-INF/velocity/" />
        <property name="velocityProperties">
            <props>
                <!-- 开发时设置为false,正式运行设置为true -->
                <prop key="file.resource.loader.cache">false</prop>
                <prop key="file.resource.loader.modificationCheckInterval">0</prop>
                <!-- 中文乱码 -->
                <prop key="input.encoding">UTF-8</prop>
                <prop key="output.encoding">UTF-8</prop>
            </props>
        </property>
    </bean>
velocity-toolbox.xml内容

<?xml version="1.0" encoding="UTF-8"?>
<tools>
    <toolbox scope="request">
        <tool class="org.apache.velocity.tools.view.LinkTool" />
        <tool>
            <key>import</key>
            <scope>request</scope>
            <class>org.apache.velocity.tools.view.ImportTool</class>
        </tool>
    </toolbox>
</tools>
页面上我打算这样用

$import.read("/menu/foot")
原先jstl的时候是这样的

<c:import url="/menu/foot"/>



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

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

发布评论

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

评论(3

一笔一画续写前缘 2021-11-30 02:37:49

http://my.oschina.net/tanweijie/blog/270613 

叹沉浮 2021-11-29 13:40:21

用了那些指令,但是没有起到效果,这是不是和包含的内容是一个spring mvc 的请求有关系啊

拍不死你 2021-11-29 10:21:42

回复
<c:import /> 同样也不能发起一个请求,除非 url 是一个完整的路径。。当然 <s:action > 是可以,但是它的实现原理,就是直接执行了 action 类方法,而不是通过请求来完成。。换句话来说,不借助于 ajax, 无法通过请求来实现。

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