Guarde el Word para exportarlo como un archivo en formato xml, abra el xml, agregue la etiqueta freemarker y luego guárdelo como un archivo outChairDoc.ftl.
El El primer paso es agregar el paquete Freemarker.jar.
El código del servlet es el siguiente: coloque outChairDoc.ftl en el paquete cn.skyclass.jiaowu.freemarker.template
public void doGet (solicitud HttpServletRequest, respuesta HttpServletResponse)
lanza ServletException, IOException {
configuración = nueva Configuración();
configuración.setDefaultEncoding("utf-8");
p>createDoc(response);
} catch (Exception e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace( );
}
}
public void createDoc(respuesta HttpServletResponse) arroja una excepción {
// Para completar en la plantilla Archivo de datos
Mapa dataMap = new HashMap();
dataMap.put("docTitle", "fdfdfdfdfdfdf información de usuario"); ; ChairInfogt; lista = new ArrayListlt;ChairInfogt;();
ChairInfochairInfo = new ChairInfo();
chairInfo.setChairTitle("dfdfd");
sillaInfo. setTeacherName("té");
sillaInfo.setStartTime(nueva fecha());
sillaInfo.setPlace("dfdfd");
list.add (chairInfo);
dataMap.put("chairInfoList", list);
// Establece el método y la ruta del dispositivo de la plantilla. FreeMarker admite múltiples métodos de carga de plantillas.
Puede recargar servlet, classpath y base de datos.
// Aquí nuestra plantilla se coloca bajo el paquete com.havenliu.document.template
configuration.setClassForTemplateLoading(this.getClass() ,
"/cn/skyclass/jiaowu/freemarker/template");
Plantilla t = null;
prueba {
// test.ftl es la plantilla a cargar
t = configuración.getTemplate("outChairDoc.ftl");
t.setEncoding("utf-8");
p>} catch (IOException e) {
e.printStackTrace();
}
// Ruta y nombre del documento de salida
String fileName="Lecture List.doc";
respuesta.setContentType("application/msword");
respuesta.addHeader("Contenido-Disposición ", " adjunto; filename=" java.net.URLEncoder.encode(fileName, "UTF-8")); //Evita que los archivos exportados sean confusos
response.setCharacterEncoding("utf-8" );
PrintWriter out = respuesta.getWriter();
t.process(dataMap, out);
out.close();
}