java

位置:IT落伍者 >> java >> 浏览文章

struts2与freemarker的集成


发布日期:2021年12月09日
 
struts2与freemarker的集成

将freemarker的jar包添加到项目中

创建Action类

Java代码

//此处的Configuration是freemarker包中的Configuration因为我们在开发中会用到

//各种框架例如hibernate都会有Configuration所以别引入错了

private static Configuration cfg = new Configuration();

static {

//配置freemarker从什么地方加载模板

cfgsetTemplateLoader(new ClassTemplateLoader(DocumentActionclass templates));

//忽略异常

cfgsetTemplateExceptionHandler(TemplateExceptionHandlerIGNORE_HANDLER);

}

//获取动态的表单

public String dynaForm(int workFlowId) {

try {

//加载与该流程定义相关的流程表单对象

FlowForm form = thisflowFormServicesearchFlowFormByWorkFlowId(workFlowId);

if(form == null) {

return null;

}

//得到该流程表单所应用的模板

Template template = cfggetTemplate(formgetTemplate());

Map root = new HashMap();

//将查询出来的form对象通过map放到模板中在模板的定义中会使用到调用的时候会填充好数据显示出来

rootput(form form);

Writer out = new StringWriter();

//将根据模板生成页面数据显示到相应的页面上

templateprocess(root out);

return outtoString();

} catch (Exception e) {

eprintStackTrace();

}

return ;

}

我们可以在需要显示该模板的页面中调用该方法就会显示出相应的模板内容

Html代码

<s:property value=dynaForm(workFlowId) escape=false />

上一篇:用java在Windows控制台输出utf8字符

下一篇:Java深度历险:Java对象序列化与RMI