我知道我可以使用servlet的这一点,但想知道是否可以使用豆/ JSF来代替。
是的,在JSF中也是很有可能的。整个页面的facelet可以是这样的:
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
和bean的相关方法可以是这样的:
public void rendertext() throws IOException {
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
Map params = ec.getRequestParameterMap();
String foo = params.get("foo"); // Returns request parameter with name "foo".
// ...
ec.setResponseContentType("text/plain");
ec.setResponseCharacterEncoding("UTF-8");
ec.getResponseOutputWriter().write("Some text content");
// ...
fc.responseComplete(); // Important! Prevents JSF from proceeding to render HTML.
}
但是,你则基本上滥用 JSF是错误的工具目的。在这种特殊情况下,JSF会增加太多的开销,而这完全不需要。一个servlet会好很多。您可以使用@WebServlet注释进行注册,而不需要任何XML配置。你也不需要Facelet文件了。