最简单的hello world 程序。
Hello $name! Welcome to $site world!
HelloWorld.java
package com;
import java.io.StringWriter; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; public class HelloWorld { public static void main(String[] args) throws Exception { /* first, get and initialize an engine */ VelocityEngine ve = new VelocityEngine(); ve.init(); /* next, get the Template */ Template t = ve.getTemplate("hellosite.vm"); /* create a context and add data */ VelocityContext context = new VelocityContext(); context.put("name", "DingDangXiaoMa"); context.put("site", "http://www."); /* now render the template into a StringWriter */ StringWriter writer = new StringWriter(); t.merge(context, writer); /* show the World */ System.out.println(writer.toString()); } } 直接运行这个程序,就可以输入模板中的信息。
html>
<body > #set($name="Hello ! DingDang") Hello, $name woowoo </body> </html> servlet 文件:
public class SampleServlet extends VelocityServlet {
以上就是两个最简单的velocity的例子。 一个是java application 一个是java web程序。
protected Properties loadConfiguration(ServletConfig config) throws IOException, FileNotFoundException { Properties p = new Properties(); String path = config.getServletContext().getRealPath("/"); if (path == null) { System.out .println(" SampleServlet.loadConfiguration() : unable to " + "get the current webapp root. Using '/'. Please fix."); path = "/"; } p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path); p.setProperty("runtime.log", path + "velocity.log"); return p; } public Template handleRequest(HttpServletRequest request, HttpServletResponse response, Context ctx) { /** * 我的一些测试输出 */ System.out.println("Hello everyone"); System.out.println("sfdsfsd"); System.out.println(ctx); System.out.println(ctx.toString()); System.out.println(request.getContextPath()); Template template = null; try { /** * 主要代码 */ Velocity.init(); /** * 注意相对路径 */ template = Velocity.getTemplate("/web/hello.vm"); VelocityContext context = new VelocityContext(); context.put("name", "wowowowowowo hello hello hello"); // template = Velocity.getTemplate("/web/sample.html"); } catch (Exception e) { e.printStackTrace(); } return template; } } |
|