Dorado 9 : Velocity模板拦截器(sample-center)

该例与Velocity模板的不同点在于,我们可以在Velocity中植入自定义的逻辑代码,如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
#outputPageHead()
</head>
<body>
#interceptor("spring:velocityInterceptor#outputText")
</body>
</html>

其中#interceptor为默认的表达式,据此调用自定义逻辑代码。
根据默认的调用规则,该处将自动调用spring中的VelocityInterceptor类的outputText方法:

package com.bstek.dorado.sample.basic;

import java.io.Writer;

import org.springframework.stereotype.Component;

@Component
public class VelocityInterceptor {
    public void outputText(Writer writer) throws Exception {
        writer.append("This line is outputted by VelocityInterceptor.");
    }
}

该处#interceptor处理机制也支持dorado中强大的"智能方法适配功能"