Есть несколько способов сделать это. Делать это в JSP немного неприятно.
Как уже упоминалось, вы можете использовать Servlet и вводить / загружать туда свои переменные. Например, доступ к контексту сеанса:
MyBean myBean = (MyBean)FacesContext.getCurrentInstance()
.getExternalContext().getSessionMap().get("myBean");
Или вы можете вывести его в HTTP Response из метода в вашем компоненте поддержки. Например:
try {
String xml = "<person>damian</person>";
FacesContext ctx = FacesContext.getCurrentInstance();
final HttpServletResponse resp = (HttpServletResponse)ctx.getExternalContext().getResponse();
resp.setContentType("text/xml");
resp.setContentLength(xml.length());
resp.getOutputStream().write(xml.getBytes());
resp.getOutputStream().flush();
resp.getOutputStream().close();
ctx.responseComplete();
} catch (IOException e) {
e.printStackTrace();
}
Или, если вы используете Facelets , вы можете установить тип ответа в теге <f:view>
.