麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Velocity 模版引擎的使用

2019-11-11 05:04:42
字體:
來源:轉載
供稿:網友

貼上代碼,這是一個工具類,自己為了方便管理信息頁面

import java.io.File;import java.io.FileOutputStream;import java.io.PRintStream;import java.io.StringWriter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.Properties;import org.apache.velocity.Template;import org.apache.velocity.VelocityContext;import org.apache.velocity.app.Velocity;import org.apache.velocity.app.VelocityEngine;import com.***.front.mode.SigningStore;import com.***.manager.model.TempStores;/** * 生成門市聯系信息頁面 */public class CreateStoresShtml {	public static final String DEFAULT_AREA_TYPE = "總部前臺"; // 默認顯示的區域類型	public static Properties properties = null;	public static VelocityEngine velocityEngine = null;		/***	 * 一鍵生成 shtml 頁面	 * @param list(所有門市聯系方式集合)	 * @param vmPath(模版路徑)	 * @param vmName(模版名稱)	 * @param shtmlPath(生成頁面的路徑)	 * @throws Exception	 */	public static void createShtmlFnc(List<SigningStore> list,String vmPath,String vmName,String shtmlPath) throws Exception{				if(properties == null){						properties = new Properties();						// 初始化參數			properties.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,vmPath);			properties.setProperty(Velocity.ENCODING_DEFAULT, "UTF-8");			properties.setProperty(Velocity.INPUT_ENCODING, "UTF-8");			properties.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");			velocityEngine = new VelocityEngine(); 				// 實例化一個VelocityEngine對象		}		VelocityContext context = new VelocityContext();		List<TempStores> tempStories =  initHeaderStoresData(list);		context.put("tempStories", tempStories);		deleteFile(shtmlPath);									// 刪除原頁面				velocityEngine.init(properties);	    Template t = velocityEngine.getTemplate(vmName); 			    context.put("tempStories", tempStories);	    StringWriter writer = new StringWriter();         	    t.merge(context,writer);      	    FileOutputStream fos = new FileOutputStream(new File(shtmlPath));	    PrintStream ps = new PrintStream(fos, true, "UTF-8");//這里我們就可以設置編碼了	    ps.print(writer.toString());	    ps.flush();	    ps.close();	    fos.close(); 	}		/** 	 * 刪除單個文件(舊頁面)	 * @param   sPath    被刪除文件的路徑 	 * @return 單個文件刪除成功返回true,否則返回false 	 */  	public static boolean deleteFile(String sPath) throws Exception{  	    boolean flag = false;  	    File file = new File(sPath);  	    // 路徑為文件且不為空則進行刪除  	    if (file.isFile() && file.exists()) {  	        file.delete();  	        flag = true;  	    }  	    return flag;  	} 	}下面貼上模版存放路徑

/resources/vm/create_footer_stores.vm

具體信息參考下面模版

<table>    <tbody>        <tr>            <td width="25%" id="stores_cells_1">                <ul class="stores_a">#foreach( $store1 in $tempStories ) #if($store1.typeName=='總部前臺')                    <li>                        <h3>總部前臺</h3>                    </li>#foreach( $store in $store1.stores )                    <li>                        <p class="phone">電話:${store.landline}</p>                        <p class="address">${store.address}</p>                    </li>#end #end #end                    <li>                        <h3>分社</h3>                    </li>#foreach( $store1 in $tempStories ) #if($store1.typeName=='分社') #foreach( $store in $store1.stores )                    <li>                        <h4>${store.name}</h4>                        <p class="phone">電話:${store.landline}</p>                        <p class="address">${store.address}</p>                    </li>#end #end #end</ul>            </td>        </tr>    </tbody></table>

下面貼上調用方法

/*** 一鍵生成門店聯系頁面 */    public void createShtmlFnc() {        try {            // 查詢所有有效門市的聯系方式            List < SigningStore > list = managerSigningStoreService.findAll(new HashMap < String, Object > ());            String webPath = getClass().getResource("/").getFile().toString();            String vmPath = webPath + "/vm"; // VM模版所在文件夾的絕對路徑            webPath = webPath.substring(0, webPath.length() - 16); // 項目的絕對路徑            String footerPath = webPath + "footer-stores.shtml"; // 底部 門市聯系信息頁面路徑            String footerVmName = "create_footer_stores.vm"; // 底部模版路徑            CreateStoresShtml.createShtmlFnc(list, vmPath, footerVmName, footerPath); // 生成頭部頁面            writeSuccess("操作成功");        } catch(Exception e) {            setExceptionMessage("一鍵生成門店聯系頁面時異常!", e);            writeError("系統異常");        }    }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色特级一级片 | 欧美人禽| 久久久久久中文字幕 | 爱操在线| 国产成人观看 | freexxxhd喷水| 黄色av免费网站 | 91精品福利视频 | 激情免费视频 | 鸳鸯谱在线观看高清 | 午夜久久久精品一区二区三区 | 午夜影视一区二区 | 久久艹逼 | 一级看片免费视频 | 成人片免费视频 | 久久久鲁 | 久色成人网 | 日日噜噜噜夜夜狠狠久久蜜桃 | 免费在线观看国产精品 | 最新欧美精品一区二区三区 | 九色新网址 | 亚洲免费视频一区 | 亚洲国产资源 | 男男啪羞羞视频网站 | 中文字幕观看 | 国产一区精品在线观看 | 今井夏帆av一区二区 | 中文字幕一区2区 | 国产欧美日韩在线不卡第一页 | 狠狠一区| 一级毛片真人免费播放视频 | 国产精品欧美日韩一区二区 | 精品一区二区久久久久久按摩 | 99精品国产一区二区三区 | 美国一级黄色毛片 | 欧美一区二区三区免费观看 | 国产一区视频观看 | 亚洲小视频网站 | 久久精国 | 中文字幕免费看 | 国产乱弄 |