VMC Injection是一个开源Java模板框架,它是由vmcreative公司开发,并在最近刚刚发布的。VMC Injection支持任何Java数据结构,(例如:JDBBC,POJO,HashMap等),并且VMC Injection可以很容易的将这些Java数据结构注入到文本模板中(HTML/XML等模板)

VMC Injection(Java模板框架)被用于vmcreateive公司的很多商业项目中,如在web应用程序中,借助Servlet和VMC Injection生成动态的网页,XML等。当前的VMC Injection是该公司的第一个开源产品,他们很期望聆听大家对VMC Injection的反馈信息。因为这将帮助VMC Injection(开源Java模板框架)更加进步。VMC Injection(开源Java模板框架 )目前采用的是完全免费的Apache 2许可。

笔者是一个Tapestry的爱好者,Tapestry同样是一个非常优秀的模板框架,二者看起来有异曲同工之妙啊!

下面是使用 VMC Injection(开源Java模板框架) 的一个简单例子,例子中 VMC Injection(开源Java模板框架) 将通过Servlet把JDBC的结果插入到HTML文件中:

ShowUser.html:

Id: #id
Name: #name
Address: #address
Phone: #phone
Email: #email

ShowUser.java:

public void doGet(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {


// 需要注入Java数据的html模板
InjectionTarget htmlTarget = new HTMLInjectionTarget("ShowUser.html");

// JDBC结果集
ResultSet rs = getUsers();

HashMap injections = new HashMap();

injections.put("Users", new SQLInjection(rs));

// Servlet响应
response.setContentType(CONTENT_TYPE);
OutputStream out = response.getOutputStream();

InjectionStreamer injectionStreamer;
injectionStreamer = new injectionStreamer(htmlTarget);
injectionStreamer.streamTo(out, injections);
}

下面是 VMC Injection(开源Java模板框架) 的一些特性:

VMC Injection完全分离Java代码和模板文件(HTML/XML等)
VMC Injection支持任何Java数据结构在模板中的注入,无需为特定的Java数据结构(JDBC ResultSets等)指定专门的访问方法。例如您无需为ResultSet或者List编写循环标签。
VMC Injection使用Java标准的格式化类对输出格式进行控制