下面列出了org.springframework.web.context.request.RequestAttributes#getAttribute ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public Map<String, Object> getErrorAttributes(RequestAttributes requestAttributes,
boolean includeStackTrace) {
Map<String, Object> errorAttributes = super.getErrorAttributes(requestAttributes, includeStackTrace);
errorAttributes.remove("exception");
Object message = requestAttributes.getAttribute("javax.servlet.error.message", RequestAttributes.SCOPE_REQUEST);
if (message != null) {
errorAttributes.put("message", message);
}
return errorAttributes;
}
public static WxRequest getWxRequestFromRequest() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes != null) {
return (WxRequest) requestAttributes.getAttribute(WX_REQUEST_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST);
}
return null;
}
public static WxWebUser getWxWebUserFromSession() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes != null) {
return (WxWebUser) requestAttributes.getAttribute(WX_SESSION_USER, RequestAttributes.SCOPE_SESSION);
}
return null;
}
private void assertAttributeExists() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
assertNotNull("request attributes should exist", requestAttributes);
Object setUpOutsideOfStel = requestAttributes.getAttribute(SET_UP_OUTSIDE_OF_STEL,
RequestAttributes.SCOPE_REQUEST);
assertNotNull(SET_UP_OUTSIDE_OF_STEL + " should exist as a request attribute", setUpOutsideOfStel);
}
private void assertAttributeDoesNotExist() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
assertNotNull("request attributes should exist", requestAttributes);
Object setUpOutsideOfStel = requestAttributes.getAttribute(SET_UP_OUTSIDE_OF_STEL,
RequestAttributes.SCOPE_REQUEST);
assertNull(SET_UP_OUTSIDE_OF_STEL + " should NOT exist as a request attribute", setUpOutsideOfStel);
}
@Override
public String resolveCurrentTenantIdentifier() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes != null) {
String identifier = (String) requestAttributes.getAttribute("CURRENT_TENANT_IDENTIFIER",RequestAttributes.SCOPE_REQUEST);
if (identifier != null) {
return identifier;
}
}
return DEFAULT_TENANT_ID;
}
/**
* Retrieves the current request correlation id if present.
*
* @return the correlation id or {@code null}
*/
@SuppressWarnings("unchecked")
public static String getCurrentCorrelationId() {
final RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes != null) {
Object correlationId = requestAttributes
.getAttribute(RequestCorrelationConsts.ATTRIBUTE_NAME, RequestAttributes.SCOPE_REQUEST);
if (correlationId instanceof RequestCorrelation) {
return ((RequestCorrelation) correlationId).getRequestId();
}
}
return null;
}
public static AuthEnv getCurrent() {
RequestAttributes req = RequestContextHolder.getRequestAttributes();
if (req!=null) {
return (AuthEnv) req.getAttribute(AUTH_ENV_KEY, RequestAttributes.SCOPE_REQUEST);
} else {
return CURRENT_ENVS.get();
}
}
private void assertSetUpOutsideOfStelAttributeExists() {
RequestAttributes requestAttributes = assertRequestAttributesExist();
Object setUpOutsideOfStel = requestAttributes.getAttribute(SET_UP_OUTSIDE_OF_STEL,
RequestAttributes.SCOPE_REQUEST);
assertNotNull(SET_UP_OUTSIDE_OF_STEL + " should exist as a request attribute", setUpOutsideOfStel);
}
private void assertSetUpOutsideOfStelAttributeDoesNotExist() {
RequestAttributes requestAttributes = assertRequestAttributesExist();
Object setUpOutsideOfStel = requestAttributes.getAttribute(SET_UP_OUTSIDE_OF_STEL,
RequestAttributes.SCOPE_REQUEST);
assertNull(SET_UP_OUTSIDE_OF_STEL + " should NOT exist as a request attribute", setUpOutsideOfStel);
}
@SuppressWarnings("unchecked")
private <T> T getAttribute(RequestAttributes requestAttributes, String name) {
return (T) requestAttributes.getAttribute(name, RequestAttributes.SCOPE_REQUEST);
}
private void assertSetUpOutsideOfStelAttributeExists() {
RequestAttributes requestAttributes = assertRequestAttributesExist();
Object setUpOutsideOfStel = requestAttributes.getAttribute(SET_UP_OUTSIDE_OF_STEL,
RequestAttributes.SCOPE_REQUEST);
assertNotNull(SET_UP_OUTSIDE_OF_STEL + " should exist as a request attribute", setUpOutsideOfStel);
}
private void assertSetUpOutsideOfStelAttributeDoesNotExist() {
RequestAttributes requestAttributes = assertRequestAttributesExist();
Object setUpOutsideOfStel = requestAttributes.getAttribute(SET_UP_OUTSIDE_OF_STEL,
RequestAttributes.SCOPE_REQUEST);
assertNull(SET_UP_OUTSIDE_OF_STEL + " should NOT exist as a request attribute", setUpOutsideOfStel);
}
@SuppressWarnings("unchecked")
private static <T> T getAttribute(final RequestAttributes requestAttributes, final String name)
{
return (T)requestAttributes.getAttribute(name, RequestAttributes.SCOPE_REQUEST);
}
/**
* 現在のリクエスト・スコープで有効な{@link MessageContext}インスタンスを返却します。
* @return 現在のリクエスト・スコープで有効な{@link MessageContext}インスタンス
*/
public static MessageContext getMessageContext() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
return (MessageContext) requestAttributes.getAttribute(MessageContext.MESSAGE_CONTEXT_ATTRIBUTE_KEY, RequestAttributes.SCOPE_REQUEST);
}
/**
* 現在のリクエスト・スコープで有効な{@link BindingResult}インスタンスを返却します。
* @return 現在のリクエスト・スコープで有効な{@link BindingResult}インスタンス
*/
public static BindingResult getCurrentBindingResult() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
return (BindingResult) requestAttributes.getAttribute(BINDING_RESULT_KEY, RequestAttributes.SCOPE_REQUEST);
}
/**
* Get the location of the user associated with the current request, if resolvable.
*/
public static Location getCurrentLocation() {
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
return attributes != null ? (Location) attributes.getAttribute(UserLocationHandlerInterceptor.USER_LOCATION_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST) : null;
}
/**
* 現在のリクエスト・スコープで有効な{@link PostBackManager}インスタンスを返却します。
* @return 現在のリクエスト・スコープで有効な{@link PostBackManager}インスタンス
*/
public static PostBackManager getCurrentPostBackManager() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
return (PostBackManager) requestAttributes.getAttribute(STORE_KEY_TO_REQUEST, RequestAttributes.SCOPE_REQUEST);
}
/**
* <p>
* ポストバック処理をトリガーする例外でるかどうかを判定します。<br/>
* </p>
* @param t コントローラのハンドラ・メソッドがスローした例外
* @return ポストバック処理をトリガーする例外である場合 {@code true}
*/
public static boolean isPostBackTargetException(Throwable t) {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
PostBackManager instance = (PostBackManager) requestAttributes.getAttribute(STORE_KEY_TO_REQUEST, RequestAttributes.SCOPE_REQUEST);
return instance.isTargetException(t);
}
/**
* 現在のリクエストに対応するコントローラのハンドラーメソッドに設定されている例外発生時のアクション定義({@link PostBack#Action}注釈)
* から、指定した例外に対応するアクションが定義を検索し返却します。
* @param t 例外
* @return 例外発生時のアクション定義({@link PostBack#Action}注釈)
*/
public static PostBack.Action getPostBackAction(Throwable t) {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
PostBackManager instance = (PostBackManager) requestAttributes.getAttribute(STORE_KEY_TO_REQUEST, RequestAttributes.SCOPE_REQUEST);
return instance.getInternalPostBackAction(t);
}