use of org.beetl.core.Configuration in project vip by guangdada.
the class GunsTemplateEngine method initBeetlEngine.
public void initBeetlEngine() {
Properties properties = new Properties();
properties.put("RESOURCE.root", "");
properties.put("DELIMITER_STATEMENT_START", "<%");
properties.put("DELIMITER_STATEMENT_END", "%>");
properties.put("HTML_TAG_FLAG", "##");
Configuration cfg = null;
try {
cfg = new Configuration(properties);
} catch (IOException e) {
e.printStackTrace();
}
ClasspathResourceLoader resourceLoader = new ClasspathResourceLoader();
groupTemplate = new GroupTemplate(resourceLoader, cfg);
groupTemplate.registerFunctionPackage("tool", new ToolUtil());
}
use of org.beetl.core.Configuration in project beetl2.0 by javamonkey.
the class DefaultTemplateEngine method createProgram.
@Override
public Program createProgram(Resource resource, Reader reader, Map<Integer, String> textMap, String cr, GroupTemplate gt) {
ANTLRInputStream input;
try {
input = new ANTLRInputStream(reader);
} catch (IOException e) {
// 不可能发生
throw new RuntimeException(e);
}
BeetlLexer lexer = new BeetlLexer(input);
lexer.removeErrorListeners();
lexer.addErrorListener(syntaxError);
CommonTokenStream tokens = new CommonTokenStream(lexer);
BeetlParser parser = new BeetlParser(tokens);
// 测试代码
parser.setErrorHandler(antlrErrorStrategy);
//
ProgContext tree = parser.prog();
// begin parsing at init rule
AntlrProgramBuilder pb = getAntlrBuilder(gt);
ProgramMetaData data = pb.build(tree);
Program program = new Program();
program.metaData = data;
program.res = resource;
program.rs = resource;
program.gt = gt;
program.metaData.staticTextArray = new Object[textMap.size()];
program.metaData.lineSeparator = cr;
int i = 0;
Configuration conf = gt.getConf();
String charset = conf.getCharset();
boolean byteOut = conf.isDirectByteOutput();
for (Entry<Integer, String> entry : textMap.entrySet()) {
if (byteOut) {
try {
program.metaData.staticTextArray[i++] = entry.getValue().getBytes(charset);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
} else {
program.metaData.staticTextArray[i++] = entry.getValue().toCharArray();
}
}
return program;
}
use of org.beetl.core.Configuration in project beetl2.0 by javamonkey.
the class Test method main.
public static void main(String[] args) throws Exception {
ClasspathResourceLoader resourceLoader = new ClasspathResourceLoader("org/beetl/core/lab/");
Configuration cfg = Configuration.defaultConfiguration();
cfg.setDirectByteOutput(true);
cfg.getResourceMap().put("tagRoot", "/");
cfg.getPkgList().add("org.beetl.core.lab.");
GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
// cfg.setStatementStart("@");
// cfg.setStatementEnd(null);
// cfg.setPlaceholderStart("{{");
// cfg.setPlaceholderEnd("}}");
//
gt.registerFunction("test", new TestFun());
gt.registerTag("test", TestTag.class);
List list = new ArrayList();
list.add(null);
list.add(new TestUser("abc"));
HashMap map = new HashMap();
map.put("key", 123);
gt.enableStrict();
for (int i = 0; i < 1; i++) {
Template t = gt.getTemplate("/hello.txt");
t.binding("user", new TestUser("jo"));
t.binding("id", 2);
t.binding("list", list);
ByteArrayOutputStream bs = new ByteArrayOutputStream();
try {
t.renderTo(bs);
} catch (Exception ex) {
ex.printStackTrace();
}
// TestUser test = new TestUser("a");
// test.setLover(new TestUser("b"));
// t.binding("user", test);
System.out.println(t.render());
}
}
use of org.beetl.core.Configuration in project beetl2.0 by javamonkey.
the class PairDLTest method getGt.
public GroupTemplate getGt() {
ClasspathResourceLoader rs = new ClasspathResourceLoader("/template");
Configuration cfg;
try {
cfg = Configuration.defaultConfiguration();
} catch (IOException e) {
throw new RuntimeException(e);
}
cfg.setStatementEnd("%>");
cfg.setStatementStart("<%");
GroupTemplate gt = new GroupTemplate(rs, cfg);
return gt;
}
use of org.beetl.core.Configuration in project beetl2.0 by javamonkey.
the class MetaCopyTest method main.
public static void main(String[] args) throws Exception {
String home = System.getProperty("user.dir") + File.separator + "template" + File.separator;
Configuration cf = Configuration.defaultConfiguration();
FileResourceLoader rs = new FileResourceLoader(home, cf.getCharset());
GroupTemplate gt = new GroupTemplate(rs, cf);
Template t = gt.getTemplate("/helloworld.html");
Program p = gt.getProgram("/helloworld.html");
ProgramMetaData old = p.metaData;
ProgramMetaData copy = old.copy();
System.out.println("ok");
}
Aggregations