永发信息网

freemarker 生成word时 数据已经通过template注入完成了,然后输出流完成了,但是文件没有被生成

答案:2  悬赏:50  手机版
解决时间 2021-03-15 16:38
我的代码是这样写的
public word() { System.out.println("=======begin=======");
configuration = new Configuration();
configuration.setDefaultEncoding("UTF-8");}

public void createDoc(Map datamap, String path, String filename,
HttpServletResponse response) {
TemplateLoader templateLoader = null;
Template template = null;
try {
templateLoader = new ClassTemplateLoader(model.class);
configuration.setTemplateLoader(templateLoader);
template = configuration.getTemplate(path,"UTF-8");
template.setEncoding("UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
Writer out = null;
try {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/plain");
response.setHeader("content-disposition",
"attachment; filename=" + new String(filename.getBytes("GB2312"), "ISO-8859-1"));
out =new BufferedWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"), 10240);
} catch (Exception e) { e.printStackTrace();
}
try {
template.process(datamap, out);
out.close();
} catch (TemplateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
最佳答案
应该是没有成功生成,内部代码里还包含了word无法识别的代码块,所以无法打开,你可以用记事本查看源代码,freenarker转换的word源代码都是xml格式
全部回答
支持一下感觉挺不错的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
北京工商管理职业专修学院是不是三本?
求日本动漫,和神龙斗士一个时期的.几个少年解
今生今世已茫然,山河岁月空惆怅什么意思
巴塘村这个地址在什么地方,我要处理点事
海钱越 我爱你
什么样的男人才是闷骚男,是不是平时都不怎么
连云港广播电视台曝光出租车司机的电话。 我
金宝石饰品我想知道这个在什么地方
沙县小吃开胃萝卜怎么做?白萝卜腌的,不是辣
甘肃省考截止11日24时报名人数
爱夏用英语怎么说好听。起网名最好贴切点儿。
中国一钱城市有几个
求助 成人专升本非医学类专业可以考医学类的
三天后离开打工生涯
李师傅计划做一批零件
推荐资讯
定岗村怎么去啊,有知道地址的么
北京亿品香麻辣烫平罗加盟店我想知道这个在什
东岩山公园自行车租赁点地址有知道的么?有点
雪佛兰的车怎么样?好不好
氩弧焊机 高频怎么调
新华邮政支局我想知道这个在什么地方
为何QQ邮件发给对方显示乱码
写给6年后的老师
怎样去除水泥地上狗狗尿尿的痕迹
华顺健康旅行社代办点我想知道这个在什么地方
生死狙击m4a4军魂后托打人多少血
阴阳师初始号被封号能申诉回来吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?