类 FacesRequestAttributes
- java.lang.Object
- org.springframework.web.context.request.FacesRequestAttributes
- 所有已实现的接口:
RequestAttributes
- 直接已知子类:
FacesWebRequest
public class FacesRequestAttributes extends Object implements RequestAttributes
RequestAttributesadapter for a JSFFacesContext. Used as default in a JSF environment, wrapping the current FacesContext.NOTE: In contrast to
ServletRequestAttributes, this variant does not support destruction callbacks for scoped attributes, neither for the request scope nor for the session scope. If you rely on such implicit destruction callbacks, consider defining a SpringRequestContextListenerin yourweb.xml.Requires JSF 2.0 or higher, as of Spring 4.0.
- 从以下版本开始:
- 2.5.2
- 作者:
- Juergen Hoeller
- 另请参阅:
FacesContext.getExternalContext(),ExternalContext.getRequestMap(),ExternalContext.getSessionMap(),RequestContextHolder.currentRequestAttributes()
字段概要
从接口继承的字段 org.springframework.web.context.request.RequestAttributes
REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_REQUEST, SCOPE_SESSION
构造器概要
构造器 构造器 说明 FacesRequestAttributes(FacesContext facesContext)Create a new FacesRequestAttributes adapter for the given FacesContext.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 ObjectgetAttribute(String name, int scope)Return the value for the scoped attribute of the given name, if any.protected Map<String,Object>getAttributeMap(int scope)Return the JSF attribute Map for the specified scope.String[]getAttributeNames(int scope)Retrieve the names of all attributes in the scope.protected ExternalContextgetExternalContext()Return the JSF ExternalContext that this adapter operates on.protected FacesContextgetFacesContext()Return the JSF FacesContext that this adapter operates on.StringgetSessionId()Return an id for the current underlying session.ObjectgetSessionMutex()Expose the best available mutex for the underlying session: that is, an object to synchronize on for the underlying session.voidregisterDestructionCallback(String name, Runnable callback, int scope)Register a callback to be executed on destruction of the specified attribute in the given scope.voidremoveAttribute(String name, int scope)Remove the scoped attribute of the given name, if it exists.ObjectresolveReference(String key)Resolve the contextual reference for the given key, if any.voidsetAttribute(String name, Object value, int scope)Set the value for the scoped attribute of the given name, replacing an existing value (if any).
构造器详细资料
FacesRequestAttributes
public FacesRequestAttributes(FacesContext facesContext)
Create a new FacesRequestAttributes adapter for the given FacesContext.- 参数:
facesContext- the current FacesContext- 另请参阅:
FacesContext.getCurrentInstance()
方法详细资料
getFacesContext
protected final FacesContext getFacesContext()
Return the JSF FacesContext that this adapter operates on.
getExternalContext
protected final ExternalContext getExternalContext()
Return the JSF ExternalContext that this adapter operates on.
getAttributeMap
protected Map<String,Object> getAttributeMap(int scope)
Return the JSF attribute Map for the specified scope.- 参数:
scope- constant indicating request or session scope- 返回:
- the Map representation of the attributes in the specified scope
- 另请参阅:
RequestAttributes.SCOPE_REQUEST,RequestAttributes.SCOPE_SESSION
getAttribute
public Object getAttribute(String name, int scope)
从接口复制的说明:RequestAttributesReturn the value for the scoped attribute of the given name, if any.- 指定者:
getAttribute在接口中RequestAttributes- 参数:
name- the name of the attributescope- the scope identifier- 返回:
- the current attribute value, or
nullif not found
setAttribute
public void setAttribute(String name, Object value, int scope)
从接口复制的说明:RequestAttributesSet the value for the scoped attribute of the given name, replacing an existing value (if any).- 指定者:
setAttribute在接口中RequestAttributes- 参数:
name- the name of the attributevalue- the value for the attributescope- the scope identifier
removeAttribute
public void removeAttribute(String name, int scope)
从接口复制的说明:RequestAttributesRemove the scoped attribute of the given name, if it exists.Note that an implementation should also remove a registered destruction callback for the specified attribute, if any. It does, however, not need to execute a registered destruction callback in this case, since the object will be destroyed by the caller (if appropriate).
- 指定者:
removeAttribute在接口中RequestAttributes- 参数:
name- the name of the attributescope- the scope identifier
getAttributeNames
public String[] getAttributeNames(int scope)
从接口复制的说明:RequestAttributesRetrieve the names of all attributes in the scope.- 指定者:
getAttributeNames在接口中RequestAttributes- 参数:
scope- the scope identifier- 返回:
- the attribute names as String array
registerDestructionCallback
public void registerDestructionCallback(String name, Runnable callback, int scope)
从接口复制的说明:RequestAttributesRegister a callback to be executed on destruction of the specified attribute in the given scope.Implementations should do their best to execute the callback at the appropriate time: that is, at request completion or session termination, respectively. If such a callback is not supported by the underlying runtime environment, the callback must be ignored and a corresponding warning should be logged.
Note that 'destruction' usually corresponds to destruction of the entire scope, not to the individual attribute having been explicitly removed by the application. If an attribute gets removed via this facade's
RequestAttributes.removeAttribute(String, int)method, any registered destruction callback should be disabled as well, assuming that the removed object will be reused or manually destroyed.NOTE: Callback objects should generally be serializable if they are being registered for a session scope. Otherwise the callback (or even the entire session) might not survive web app restarts.
- 指定者:
registerDestructionCallback在接口中RequestAttributes- 参数:
name- the name of the attribute to register the callback forcallback- the destruction callback to be executedscope- the scope identifier
resolveReference
public Object resolveReference(String key)
从接口复制的说明:RequestAttributesResolve the contextual reference for the given key, if any.At a minimum: the HttpServletRequest reference for key "request", and the HttpSession reference for key "session".
- 指定者:
resolveReference在接口中RequestAttributes- 参数:
key- the contextual key- 返回:
- the corresponding object, or
nullif none found
getSessionId
public String getSessionId()
从接口复制的说明:RequestAttributesReturn an id for the current underlying session.- 指定者:
getSessionId在接口中RequestAttributes- 返回:
- the session id as String (never
null)
getSessionMutex
public Object getSessionMutex()
从接口复制的说明:RequestAttributesExpose the best available mutex for the underlying session: that is, an object to synchronize on for the underlying session.- 指定者:
getSessionMutex在接口中RequestAttributes- 返回:
- the session mutex to use (never
null)