public class MultiViewHandler
extends javax.faces.application.ViewHandler
ViewHandler
implementation handles both JSP-based and
Facelets/PDL-based views.Modifier and Type | Field and Description |
---|---|
private java.lang.String[] |
configuredExtensions |
private boolean |
extensionsSet |
private static java.util.logging.Logger |
logger |
private java.util.Set<java.lang.String> |
protectedViews |
private javax.faces.view.ViewDeclarationLanguageFactory |
vdlFactory |
CHARACTER_ENCODING_KEY, DEFAULT_FACELETS_SUFFIX, DEFAULT_SUFFIX, DEFAULT_SUFFIX_PARAM_NAME, DISABLE_FACELET_JSF_VIEWHANDLER_PARAM_NAME, FACELETS_BUFFER_SIZE_PARAM_NAME, FACELETS_DECORATORS_PARAM_NAME, FACELETS_LIBRARIES_PARAM_NAME, FACELETS_REFRESH_PERIOD_PARAM_NAME, FACELETS_SKIP_COMMENTS_PARAM_NAME, FACELETS_SUFFIX_PARAM_NAME, FACELETS_VIEW_MAPPINGS_PARAM_NAME
Constructor and Description |
---|
MultiViewHandler() |
Modifier and Type | Method and Description |
---|---|
void |
addProtectedView(java.lang.String urlPattern) |
protected void |
addViewParameters(javax.faces.context.FacesContext ctx,
java.lang.String viewId,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> existingParameters) |
private void |
appendOrReplaceExtension(java.lang.String viewId,
java.lang.String ext,
int length,
int extIdx,
java.lang.StringBuilder buffer) |
java.util.Locale |
calculateLocale(javax.faces.context.FacesContext context)
This code is currently common to all
ViewHandlingStrategy instances. |
java.lang.String |
calculateRenderKitId(javax.faces.context.FacesContext context)
This code is currently common to all
ViewHandlingStrategy instances. |
protected java.lang.String |
convertViewId(javax.faces.context.FacesContext context,
java.lang.String viewId)
Adjust the viewID per the requirements of
renderView(javax.faces.context.FacesContext, javax.faces.component.UIViewRoot) . |
javax.faces.component.UIViewRoot |
createView(javax.faces.context.FacesContext context,
java.lang.String viewId)
Derive the actual view ID (i.e.
|
java.lang.String |
deriveLogicalViewId(javax.faces.context.FacesContext context,
java.lang.String rawViewId) |
protected java.lang.String |
derivePhysicalViewId(javax.faces.context.FacesContext ctx,
java.lang.String rawViewId,
boolean checkPhysical) |
java.lang.String |
deriveViewId(javax.faces.context.FacesContext context,
java.lang.String rawViewId) |
protected java.util.Locale |
findMatch(javax.faces.context.FacesContext context,
java.util.Locale pref)
Attempts to find a matching locale based on
pref and
list of supported locales, using the matching algorithm
as described in JSTL 8.3.2. |
java.lang.String |
getActionURL(javax.faces.context.FacesContext context,
java.lang.String viewId)
This code is currently common to all
ViewHandlingStrategy instances. |
private java.lang.String |
getActionURLWithoutViewProtection(javax.faces.context.FacesContext context,
java.lang.String viewId) |
java.lang.String |
getBookmarkableURL(javax.faces.context.FacesContext context,
java.lang.String viewId,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> parameters,
boolean includeViewParams) |
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getFullParameterList(javax.faces.context.FacesContext ctx,
java.lang.String viewId,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> existingParameters) |
java.util.Set<java.lang.String> |
getProtectedViewsUnmodifiable() |
java.lang.String |
getRedirectURL(javax.faces.context.FacesContext context,
java.lang.String viewId,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> parameters,
boolean includeViewParams) |
java.lang.String |
getResourceURL(javax.faces.context.FacesContext context,
java.lang.String path)
This code is currently common to all
ViewHandlingStrategy instances. |
private static java.lang.String |
getStringValueToTransfer(javax.faces.context.FacesContext context,
javax.faces.component.UIViewParameter param,
java.util.Collection<javax.faces.component.UIViewParameter> viewParams) |
javax.faces.view.ViewDeclarationLanguage |
getViewDeclarationLanguage(javax.faces.context.FacesContext context,
java.lang.String viewId) |
void |
initView(javax.faces.context.FacesContext context)
Call the default implementation of
ViewHandler.initView(javax.faces.context.FacesContext) |
private java.lang.String |
legacyConvertViewId(java.lang.String viewId,
int length,
int extIdx,
java.lang.StringBuilder buffer) |
protected java.lang.String |
normalizeRequestURI(java.lang.String uri,
java.lang.String mapping)
if the specified mapping is a prefix mapping, and the provided
request URI (usually the value from
ExternalContext.getRequestServletPath() )
starts with mapping + '/' , prune the mapping from the
URI and return it, otherwise, return the original URI. |
private static boolean |
paramHasValueExpression(javax.faces.component.UIViewParameter param) |
boolean |
removeProtectedView(java.lang.String urlPattern) |
void |
renderView(javax.faces.context.FacesContext context,
javax.faces.component.UIViewRoot viewToRender)
Call
ViewDeclarationLanguage.renderView(javax.faces.context.FacesContext, javax.faces.component.UIViewRoot)
if the view can be rendered. |
javax.faces.component.UIViewRoot |
restoreView(javax.faces.context.FacesContext context,
java.lang.String viewId)
Call
ViewDeclarationLanguage.restoreView(javax.faces.context.FacesContext, String) . |
protected void |
send404Error(javax.faces.context.FacesContext context)
Send
HttpServletResponse.SC_NOT_FOUND (404) to the client. |
void |
writeState(javax.faces.context.FacesContext context)
This code is currently common to all
ViewHandlingStrategy instances. |
private static final java.util.logging.Logger logger
private java.lang.String[] configuredExtensions
private java.util.Set<java.lang.String> protectedViews
private boolean extensionsSet
private javax.faces.view.ViewDeclarationLanguageFactory vdlFactory
public void initView(javax.faces.context.FacesContext context) throws javax.faces.FacesException
ViewHandler.initView(javax.faces.context.FacesContext)
initView
in class javax.faces.application.ViewHandler
javax.faces.FacesException
ViewHandler.initView(javax.faces.context.FacesContext)
public void renderView(javax.faces.context.FacesContext context, javax.faces.component.UIViewRoot viewToRender) throws java.io.IOException, javax.faces.FacesException
Call ViewDeclarationLanguage.renderView(javax.faces.context.FacesContext, javax.faces.component.UIViewRoot)
if the view can be rendered.
renderView
in class javax.faces.application.ViewHandler
java.io.IOException
javax.faces.FacesException
ViewHandler.renderView(javax.faces.context.FacesContext, javax.faces.component.UIViewRoot)
public javax.faces.component.UIViewRoot restoreView(javax.faces.context.FacesContext context, java.lang.String viewId)
Call ViewDeclarationLanguage.restoreView(javax.faces.context.FacesContext, String)
.
restoreView
in class javax.faces.application.ViewHandler
ViewHandler.restoreView(javax.faces.context.FacesContext, String)
public javax.faces.component.UIViewRoot createView(javax.faces.context.FacesContext context, java.lang.String viewId)
Derive the actual view ID (i.e. the physical resource) and call
call ViewDeclarationLanguage.createView(javax.faces.context.FacesContext, String)
.
createView
in class javax.faces.application.ViewHandler
ViewHandler.restoreView(javax.faces.context.FacesContext, String)
public java.util.Locale calculateLocale(javax.faces.context.FacesContext context)
This code is currently common to all ViewHandlingStrategy
instances.
calculateLocale
in class javax.faces.application.ViewHandler
ViewHandler.calculateLocale(javax.faces.context.FacesContext)
public java.lang.String calculateRenderKitId(javax.faces.context.FacesContext context)
This code is currently common to all ViewHandlingStrategy
instances.
calculateRenderKitId
in class javax.faces.application.ViewHandler
ViewHandler.calculateRenderKitId(javax.faces.context.FacesContext)
public void writeState(javax.faces.context.FacesContext context) throws java.io.IOException
This code is currently common to all ViewHandlingStrategy
instances.
writeState
in class javax.faces.application.ViewHandler
java.io.IOException
ViewHandler.writeState(javax.faces.context.FacesContext)
public java.lang.String getActionURL(javax.faces.context.FacesContext context, java.lang.String viewId)
This code is currently common to all ViewHandlingStrategy
instances.
getActionURL
in class javax.faces.application.ViewHandler
ViewHandler.getActionURL(javax.faces.context.FacesContext, String)
private java.lang.String getActionURLWithoutViewProtection(javax.faces.context.FacesContext context, java.lang.String viewId)
public java.lang.String getResourceURL(javax.faces.context.FacesContext context, java.lang.String path)
This code is currently common to all ViewHandlingStrategy
instances.
getResourceURL
in class javax.faces.application.ViewHandler
ViewHandler.getResourceURL(javax.faces.context.FacesContext, String)
public java.lang.String getBookmarkableURL(javax.faces.context.FacesContext context, java.lang.String viewId, java.util.Map<java.lang.String,java.util.List<java.lang.String>> parameters, boolean includeViewParams)
getBookmarkableURL
in class javax.faces.application.ViewHandler
public void addProtectedView(java.lang.String urlPattern)
addProtectedView
in class javax.faces.application.ViewHandler
public java.util.Set<java.lang.String> getProtectedViewsUnmodifiable()
getProtectedViewsUnmodifiable
in class javax.faces.application.ViewHandler
public boolean removeProtectedView(java.lang.String urlPattern)
removeProtectedView
in class javax.faces.application.ViewHandler
public java.lang.String getRedirectURL(javax.faces.context.FacesContext context, java.lang.String viewId, java.util.Map<java.lang.String,java.util.List<java.lang.String>> parameters, boolean includeViewParams)
getRedirectURL
in class javax.faces.application.ViewHandler
ViewHandler.getRedirectURL(javax.faces.context.FacesContext, String, java.util.Map, boolean)
public javax.faces.view.ViewDeclarationLanguage getViewDeclarationLanguage(javax.faces.context.FacesContext context, java.lang.String viewId)
getViewDeclarationLanguage
in class javax.faces.application.ViewHandler
ViewHandler.getViewDeclarationLanguage(javax.faces.context.FacesContext, String)
public java.lang.String deriveViewId(javax.faces.context.FacesContext context, java.lang.String rawViewId)
deriveViewId
in class javax.faces.application.ViewHandler
public java.lang.String deriveLogicalViewId(javax.faces.context.FacesContext context, java.lang.String rawViewId)
deriveLogicalViewId
in class javax.faces.application.ViewHandler
protected java.lang.String normalizeRequestURI(java.lang.String uri, java.lang.String mapping)
if the specified mapping is a prefix mapping, and the provided
request URI (usually the value from ExternalContext.getRequestServletPath()
)
starts with mapping + '/'
, prune the mapping from the
URI and return it, otherwise, return the original URI.
uri
- the servlet request pathmapping
- the FacesServlet mapping used for this requestprotected java.lang.String convertViewId(javax.faces.context.FacesContext context, java.lang.String viewId)
Adjust the viewID per the requirements of renderView(javax.faces.context.FacesContext, javax.faces.component.UIViewRoot)
.
context
- current FacesContext
viewId
- incoming view IDprotected java.lang.String derivePhysicalViewId(javax.faces.context.FacesContext ctx, java.lang.String rawViewId, boolean checkPhysical)
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> getFullParameterList(javax.faces.context.FacesContext ctx, java.lang.String viewId, java.util.Map<java.lang.String,java.util.List<java.lang.String>> existingParameters)
protected void addViewParameters(javax.faces.context.FacesContext ctx, java.lang.String viewId, java.util.Map<java.lang.String,java.util.List<java.lang.String>> existingParameters)
protected java.util.Locale findMatch(javax.faces.context.FacesContext context, java.util.Locale pref)
pref
and
list of supported locales, using the matching algorithm
as described in JSTL 8.3.2.context
- the FacesContext
for the current requestpref
- the preferred localeprotected void send404Error(javax.faces.context.FacesContext context)
Send HttpServletResponse.SC_NOT_FOUND
(404) to the client.
context
- the FacesContext
for the current requestprivate static boolean paramHasValueExpression(javax.faces.component.UIViewParameter param)
private static java.lang.String getStringValueToTransfer(javax.faces.context.FacesContext context, javax.faces.component.UIViewParameter param, java.util.Collection<javax.faces.component.UIViewParameter> viewParams)
private void appendOrReplaceExtension(java.lang.String viewId, java.lang.String ext, int length, int extIdx, java.lang.StringBuilder buffer)
private java.lang.String legacyConvertViewId(java.lang.String viewId, int length, int extIdx, java.lang.StringBuilder buffer)
Copyright © 2002-2013 Oracle America, Inc. All Rights Reserved.