sâmbătă, 20 iunie 2015

[OmniFaces utilities 2.0] Return the application scope attribute value associated with the given name


[OmniFaces utilities] The getApplicationAttribute() method returns the application scope attribute value associated with the given name.

Method:
Usage:

For example, get the name of the ServletContext attribute which stores the private temporary directory (of type java.io.File) provided by the servlet container for the ServletContext.

·         inside a servlet filter or even a plain vanilla servlet (basically, when FacesContext is not available):

import org.omnifaces.util.Servlets;
...
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  // e.g. file path: D:\wildfly\standalone\tmp\MyApp.war
  File tempdir = Servlets.getApplicationAttribute(this.getServletContext(), "javax.servlet.context.tempdir");
 }
 ...
}

·         in JSF, when FacesContext is available use, Faces#getApplicationAttribute(), or more clumsy (not recommended):

import org.omnifaces.util.Servlets;
...
// or use, Faces#getServletContext()
ServletContext servletContext = (ServletContext) Faces.getExternalContext().getContext();
// e.g. file path: D:\wildfly\standalone\tmp\MyApp.war
File tempdir = Servlets.getApplicationAttribute(servletContext, "javax.servlet.context.tempdir");

Niciun comentariu:

Trimiteți un comentariu