📄 templateparser.java
字号:
package cn.myapps.core.dynaform.form.ejb;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.Iterator;
import java.util.Stack;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.htmlparser.Parser;
import cn.myapps.core.dynaform.component.ejb.Component;
import cn.myapps.core.dynaform.component.ejb.ComponentProcess;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.StringUtil;
import cn.myapps.util.text.TemplateContext;
public class TemplateParser {
/**
* @param args
*/
public static void main(String[] args) {
try {
ComponentProcess cp = (ComponentProcess) ProcessFactory
.createProcess(ComponentProcess.class);
Component component = (Component) cp.doView("1175751225109000");
TemplateContext context = TemplateContext.parse(component.getTemplatecontext());
context.putParams("region", "r1");
context.putParams("district", "d1");
System.out.println(context.toText());
} catch (Exception e) {
e.printStackTrace();
}
}
public static Form parseTemplate(Form form, String template)
throws Exception {
Parser parser = new Parser();
if (template == null) {
template = "";
}
template = template.replaceAll("\\[计算插入模板\\]</MARQUEE>", "");
parser.setInputHTML(template);
TemplateProcessVisitor visitor = new TemplateProcessVisitor(form);
parser.visitAllNodesWith(visitor);
Form form2 = visitor.getResult();
return form2;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -