Class ViewResourceHandler

All Implemented Interfaces:
FacesWrapper<ResourceHandler>

public class ViewResourceHandler extends DefaultResourceHandler
This ResourceHandler basically turns any concrete non-Facelets file into a Faces view, so that you can use EL expressions and even Faces components in them. The response content type will default to Faces.getMimeType(String) which is configureable in web.xml and overrideable via <f:view contentType="...">.

Real world examples are /sitemap.xml and /robots.txt.

Installation

To get it to run, this handler needs be registered as follows in faces-config.xml:

 <application>
     <resource-handler>org.omnifaces.resourcehandler.ViewResourceHandler</resource-handler>
 </application>
 

To configure the Faces view resources, a "org.omnifaces.VIEW_RESOURCE_HANDLER_URIS" context parameter has to be provided wherein the view resources are specified as a comma separated string of context-relative URIs.

Here is an example configuration:

 <context-param>
     <param-name>org.omnifaces.VIEW_RESOURCE_HANDLER_URIS</param-name>
     <param-value>/sitemap.xml, /products/sitemap.xml, /reviews/sitemap.xml, /robots.txt</param-value>
 </context-param>
 

Wildcards in URIs are at the moment not supported.

The OmniViewHandler will take care of rendering the view.

Since:
3.10
Author:
Bauke Scholtz
See Also:
  • Field Details

    • PARAM_NAME_VIEW_RESOURCES

      public static final String PARAM_NAME_VIEW_RESOURCES
      The context parameter name to specify URIs to treat as Faces views.
      See Also:
  • Constructor Details

    • ViewResourceHandler

      public ViewResourceHandler(ResourceHandler wrapped)
      Creates a new instance of this view resource handler which wraps the given resource handler.
      Parameters:
      wrapped - The resource handler to be wrapped.
  • Method Details