spring velocity生成静态文件

    技术2024-03-28  18

    import java.util.Map;

    import org.apache.velocity.app.VelocityEngine;import org.springframework.ui.velocity.VelocityEngineUtils;

    public class MsgBean ...{    private VelocityEngine velocityEngine;

        private String msg;

        private Map model; // 用来保存velocity中的参数值

        private String encoding; // 编码

        private String templateLocation; // 注入的velocity模块

        public String getEncoding() ...{        return encoding;    }

        public void setEncoding(String encoding) ...{        this.encoding = encoding;    }

        public String getTemplateLocation() ...{        return templateLocation;    }

        public void setTemplateLocation(String templateLocation) ...{        this.templateLocation = templateLocation;    }

        public Map getModel() ...{        return model;    }

        public void setModel(Map model) ...{        this.model = model;    }

        public String getMsg() ...{        // return title;        // 将参数值注入到模块后的返回值        return VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,                templateLocation, encoding, model);

        }

        public void setMsg(String msg) ...{        this.msg = msg;    }

        public VelocityEngine getVelocityEngine() ...{        return velocityEngine;    }

        public void setVelocityEngine(VelocityEngine velocityEngine) ...{        this.velocityEngine = velocityEngine;    }

    }

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

     

         <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">     <property name="resourceLoaderPath">            <value>classpath:velocity</value>     </property>    <property name="velocityProperties">                 <props>                       <prop key="resource.loader">class</prop>                       <prop key="class.resource.loader.class">                             org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader                       </prop>                       <prop key="velocimacro.library"></prop>                       <prop key="input.encoding">GBK</prop>                       <prop key="output.encoding">GBK</prop>                       <prop key="default.contentType">text/html; charset=GBK</prop>                 </props>           </property></bean>

    <bean id="msgBean" class="MsgBean">        <property name="templateLocation" value="test.vm"></property>        <property name="encoding" value="GBK"></property>        <property name="velocityEngine" ref="velocityEngine"></property></bean>

    </beans>

    import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.Map;

    import org.apache.commons.io.FileUtils;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;

    public class TestVeloctiy ...{    public static void main(String[] args) ...{        // TODO Auto-generated method stub        ApplicationContext ctx=new ClassPathXmlApplicationContext("test3.xml");        MsgBean    msgBean=((MsgBean)ctx.getBean("msgBean"));        Map<String, String> data = new HashMap<String, String>();        data.put("me","yourname");        msgBean.setModel(data);        System.out.println(msgBean.getMsg());                         //根据apache common IO 组件直接将内容写到一个文件中去.          File dest = new File( "test.html" );                    try ...{            FileUtils.writeStringToFile( dest, msgBean.getMsg(), "GBK" );        } catch (IOException e) ...{            // TODO Auto-generated catch block            e.printStackTrace();        }

        }}

    本文来自博客,转载请标明出处:http://blog.csdn.net/pengchua/archive/2008/01/17/2049490.aspx

    最新回复(0)