熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

struts2與freemarker的集成

2022-06-13   來源: Java核心技術 

  將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 />


From:http://tw.wingwit.com/Article/program/Java/hx/201311/25700.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.