欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

freemarker導(dǎo)出word文檔,怎么寫?

林子帆2年前12瀏覽0評論

將要導(dǎo)出的Word另存為xml格式的文件,打開xml 在其中添加freemarker標(biāo)簽,然后另存為outChairDoc.ftl文件.

第一步要加入Freemarker.jar包。

Servlet代碼如下:在outChairDoc.ftl放在包cn.skyclass.jiaowu.freemarker.template下

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

configuration = new Configuration();

configuration.setDefaultEncoding("utf-8");

try {

createDoc(response);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void createDoc(HttpServletResponse response) throws Exception {

// 要填入模本的數(shù)據(jù)文件

Map dataMap = new HashMap();

dataMap.put("docTitle", "fdfdfdfdfdfdf用戶信息");

List list = new ArrayList();

ChairInfo chairInfo = new ChairInfo();

chairInfo.setChairTitle("dfdfd");

chairInfo.setTeacherName("tea");

chairInfo.setStartTime(new Date());

chairInfo.setPlace("dfdfd");

list.add(chairInfo);

dataMap.put("chairInfoList", list);

// 設(shè)置模本裝置方法和路徑,FreeMarker支持多種模板裝載方法。可以重servlet,classpath,數(shù)據(jù)庫裝載,

// 這里我們的模板是放在com.havenliu.document.template包下面

configuration.setClassForTemplateLoading(this.getClass(),

"/cn/skyclass/jiaowu/freemarker/template");

Template t = null;

try {

// test.ftl為要裝載的模板

t = configuration.getTemplate("outChairDoc.ftl");

t.setEncoding("utf-8");

} catch (IOException e) {

e.printStackTrace();

}

// 輸出文檔路徑及名稱

String fileName="講座列表.doc";

response.setContentType("application/msword");

response.addHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//可防止導(dǎo)出的文件亂碼

response.setCharacterEncoding("utf-8");

PrintWriter out = response.getWriter();

t.process(dataMap, out);

out.close();

}