package java2word.actions; import java.io.PrintWriter; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.xwork.StringUtils; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.opensymphony.xwork2.ActionSupport; public class Testing extends ActionSupport implements ServletResponseAware, ServletRequestAware { @Override public String execute() throws Exception { // System.out.println("### About to generate Word doc..."); // System.out.println("XML is: \n" + this.xml + "\n"); //###LEO request.setAttribute("res", "@@@ " + new Date()); request.getSession().setAttribute("xml", xml); //'UTF-8', 'ISO-8859-1' or nothing? up to you... if (!StringUtils.isEmpty(xml)) { response.setContentType("application/msword; charset=UTF-8"); response.setHeader("Content-disposition", "inline;filename=wordDoc.doc"); PrintWriter writer = response.getWriter(); writer.println(xml); writer.flush(); // System.out.println("### Doc generated..."); return null; }else{ System.out.println("Error: Empty XML field porra!!!" ); } return SUCCESS; } // ### Getters and setters private String xml; private HttpServletResponse response; private HttpServletRequest request; public String getXml() { return xml; } public void setXml(String xml) { this.xml = xml; } //@Override public void setServletResponse(HttpServletResponse servletResponse) { response = servletResponse; } public void setServletRequest(HttpServletRequest servletRequest) { request = servletRequest; } }