zoukankan      html  css  js  c++  java
  • spring 3.0.5+velocity tools 2.0

    spring 3.0.5 的org.springframework.web.servlet.view.velocity.VelocityToolboxView 类只支持1.X的velocitytools,如果想让spring支持新版本的tools,只要重写org.springframework.web.servlet.view.velocity.VelocityToolboxView这个类的createVelocityContext方法,然后在配置文件里指定使用新的viewClass。

    package com.rsoft.spring.controller;

    import java.util.Map;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.velocity.context.Context;
    import org.apache.velocity.tools.Scope;
    import org.apache.velocity.tools.ToolManager;
    import org.apache.velocity.tools.view.ViewToolContext;
    import org.springframework.web.servlet.view.velocity.VelocityToolboxView;

    public class VelocityToolbox20View extends VelocityToolboxView {
        @Override
        
    protected Context createVelocityContext(Map<String, Object> model, HttpServletRequest request,
                HttpServletResponse response) 
    throws Exception {// Create a
                                                                
    // ChainedContext
                                                                
    // instance.
            ViewToolContext ctx;

            ctx 
    = new ViewToolContext(getVelocityEngine(), request, response, getServletContext());

            ctx.putAll(model);

            
    if (this.getToolboxConfigLocation() != null) {
                ToolManager tm 
    = new ToolManager();
                tm.setVelocityEngine(getVelocityEngine());
                tm.configure(getServletContext().getRealPath(getToolboxConfigLocation()));
                
    if (tm.getToolboxFactory().hasTools(Scope.REQUEST)) {
                    ctx.addToolbox(tm.getToolboxFactory().createToolbox(Scope.REQUEST));
                }
                
    if (tm.getToolboxFactory().hasTools(Scope.APPLICATION)) {
                    ctx.addToolbox(tm.getToolboxFactory().createToolbox(Scope.APPLICATION));
                }
                
    if (tm.getToolboxFactory().hasTools(Scope.SESSION)) {
                    ctx.addToolbox(tm.getToolboxFactory().createToolbox(Scope.SESSION));
                }
            }
            
    return ctx;
        }
    }

    相关视图配置

    <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
            
    <property name="order" value="0"/>
            
    <property name="cache" value="true" />
            
    <property name="prefix" value="" />
            
    <property name="suffix" value=".html" />
            
    <property name="toolboxConfigLocation" value="/WEB-INF/tools.xml"/>
            
    <property name="viewClass" value="com.rsoft.spring.controller.VelocityToolbox20View"/>
            
    <property name="contentType">
                
    <value>text/html;charset=UTF-8</value>
            
    </property>

        </bean> 

  • 相关阅读:
    简单的jQuery无缝向上滚动效果
    http://yuanma.wxb0.com/ 唯品源码网站
    vue.js 2.0 --- 安装node环境,webpack和脚手架
    记住密码后,密码框Password会自动带出数据
    http://ask.dcloud.net.cn/question/11695 nativeUI的使用(移动的)
    微信内置浏览器 如何小窗不全屏播放视频?
    webstrom快捷键
    6个html5页面适配iphone6的技巧
    rem的js
    docker打包容器成镜像文件、镜像文件加载到镜像
  • 原文地址:https://www.cnblogs.com/icoolno1/p/2081692.html
Copyright © 2011-2022 走看看