HttpServletResponse response = ServletActionContext.getResponse();
response.setStatus(status);
PrintWriter writer = response.getWriter();
// Create a transformer for the stylesheet.
Templates templates = null;
Transformer transformer;
if (location != null) {
templates = getTemplates(location);
transformer = templates.newTransformer();
} else
transformer = TransformerFactory.newInstance().newTransformer();
transformer.setURIResolver(getURIResolver());
transformer.setErrorListener(new ErrorListener() {
public void error(TransformerException exception)
throws TransformerException {
throw new StrutsException("Error transforming result", exception);
}
public void fatalError(TransformerException exception)
throws TransformerException {
throw new StrutsException("Fatal error transforming result", exception);
}
public void warning(TransformerException exception)
throws TransformerException {
if (LOG.isWarnEnabled()) {
LOG.warn(exception.getMessage(), exception);
}
}
});
String mimeType;
if (templates == null)
mimeType = "text/xml"; // no stylesheet, raw xml
else
mimeType = templates.getOutputProperties().getProperty(OutputKeys.MEDIA_TYPE);
if (mimeType == null) {
// guess (this is a servlet, so text/html might be the best guess)
mimeType = "text/html";
}