📄 requestcontext.java
字号:
this.urlPathHelper = (urlPathHelper != null ? urlPathHelper : new UrlPathHelper());
}
/**
* Return the UrlPathHelper used for context path and request URI decoding.
* Can be used to configure the current UrlPathHelper.
* <p>A default UrlPathHelper is always available.
*/
public UrlPathHelper getUrlPathHelper() {
return urlPathHelper;
}
/**
* Return the context path of the current request,
* i.e. the path that indicates the current web application.
* <p>Delegates to the UrlPathHelper for decoding.
* @see javax.servlet.http.HttpServletRequest#getContextPath
* @see #getUrlPathHelper
*/
public String getContextPath() {
return this.urlPathHelper.getContextPath(this.request);
}
/**
* Return the request URI of the current request, i.e. the invoked URL
* without parameters. This is particularly useful as HTML form action target.
* <p><b>Note that you should create your RequestContext instance <i>before</i>
* forwarding to your JSP view, if you intend to determine the request URI!</b>
* The optimal way to do so is to set "requestContextAttribute" on your view.
* Else, you'll get the URI of your JSP rather than the one of your controller.
* <p>Side note: As alternative for an HTML form action, either specify
* an empty "action" or omit the "action" attribute completely. This is
* not covered by the HTML spec, though, but known to work reliably on
* all current browsers.
* <p>Delegates to the UrlPathHelper for decoding.
* @see javax.servlet.http.HttpServletRequest#getRequestURI
* @see #getUrlPathHelper
* @see org.springframework.web.servlet.view.AbstractView#setRequestContextAttribute
* @see org.springframework.web.servlet.view.UrlBasedViewResolver#setRequestContextAttribute
*/
public String getRequestUri() {
return this.urlPathHelper.getRequestUri(this.request);
}
/**
* Retrieve the message for the given code, using the defaultHtmlEscape setting.
* @param code code of the message
* @param defaultMessage String to return if the lookup fails
* @return the message
*/
public String getMessage(String code, String defaultMessage) {
return getMessage(code, null, defaultMessage, this.defaultHtmlEscape);
}
/**
* Retrieve the message for the given code, using the defaultHtmlEscape setting.
* @param code code of the message
* @param args arguments for the message, or null if none
* @param defaultMessage String to return if the lookup fails
* @return the message
*/
public String getMessage(String code, Object[] args, String defaultMessage) {
return getMessage(code, args, defaultMessage, this.defaultHtmlEscape);
}
/**
* Retrieve the message for the given code, using the defaultHtmlEscape setting.
* @param code code of the message
* @param args arguments for the message as a List, or null if none
* @param defaultMessage String to return if the lookup fails
* @return the message
*/
public String getMessage(String code, List args, String defaultMessage) {
return getMessage(code, (args != null ? args.toArray() : null), defaultMessage, this.defaultHtmlEscape);
}
/**
* Retrieve the message for the given code.
* @param code code of the message
* @param args arguments for the message, or null if none
* @param defaultMessage String to return if the lookup fails
* @param htmlEscape HTML escape the message?
* @return the message
*/
public String getMessage(String code, Object[] args, String defaultMessage, boolean htmlEscape) {
String msg = this.webApplicationContext.getMessage(code, args, defaultMessage, this.locale);
return (htmlEscape ? HtmlUtils.htmlEscape(msg) : msg);
}
/**
* Retrieve the message for the given code, using the defaultHtmlEscape setting.
* @param code code of the message
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getMessage(String code) throws NoSuchMessageException {
return getMessage(code, null, this.defaultHtmlEscape);
}
/**
* Retrieve the message for the given code, using the defaultHtmlEscape setting.
* @param code code of the message
* @param args arguments for the message, or null if none
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getMessage(String code, Object[] args) throws NoSuchMessageException {
return getMessage(code, args, this.defaultHtmlEscape);
}
/**
* Retrieve the message for the given code, using the defaultHtmlEscape setting.
* @param code code of the message
* @param args arguments for the message as a List, or null if none
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getMessage(String code, List args) throws NoSuchMessageException {
return getMessage(code, (args != null ? args.toArray() : null), this.defaultHtmlEscape);
}
/**
* Retrieve the message for the given code.
* @param code code of the message
* @param args arguments for the message, or null if none
* @param htmlEscape HTML escape the message?
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getMessage(String code, Object[] args, boolean htmlEscape) throws NoSuchMessageException {
String msg = this.webApplicationContext.getMessage(code, args, this.locale);
return (htmlEscape ? HtmlUtils.htmlEscape(msg) : msg);
}
/**
* Retrieve the given MessageSourceResolvable (e.g. an ObjectError instance),
* using the defaultHtmlEscape setting.
* @param resolvable the MessageSourceResolvable
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getMessage(MessageSourceResolvable resolvable) throws NoSuchMessageException {
return getMessage(resolvable, this.defaultHtmlEscape);
}
/**
* Retrieve the given MessageSourceResolvable (e.g. an ObjectError instance).
* @param resolvable the MessageSourceResolvable
* @param htmlEscape HTML escape the message?
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getMessage(MessageSourceResolvable resolvable, boolean htmlEscape) throws NoSuchMessageException {
String msg = this.webApplicationContext.getMessage(resolvable, this.locale);
return (htmlEscape ? HtmlUtils.htmlEscape(msg) : msg);
}
/**
* Retrieve the theme message for the given code.
* <p>Note that theme messages are never HTML-escaped, as they typically
* denote theme-specific resource paths and not client-visible messages.
* @param code code of the message
* @param defaultMessage String to return if the lookup fails
* @return the message
*/
public String getThemeMessage(String code, String defaultMessage) {
return this.theme.getMessageSource().getMessage(code, null, defaultMessage, this.locale);
}
/**
* Retrieve the theme message for the given code.
* <p>Note that theme messages are never HTML-escaped, as they typically
* denote theme-specific resource paths and not client-visible messages.
* @param code code of the message
* @param args arguments for the message, or null if none
* @param defaultMessage String to return if the lookup fails
* @return the message
*/
public String getThemeMessage(String code, Object[] args, String defaultMessage) {
return this.theme.getMessageSource().getMessage(code, args, defaultMessage, this.locale);
}
/**
* Retrieve the theme message for the given code.
* <p>Note that theme messages are never HTML-escaped, as they typically
* denote theme-specific resource paths and not client-visible messages.
* @param code code of the message
* @param args arguments for the message as a List, or null if none
* @param defaultMessage String to return if the lookup fails
* @return the message
*/
public String getThemeMessage(String code, List args, String defaultMessage) {
return this.theme.getMessageSource().getMessage(
code, (args != null ? args.toArray() : null), defaultMessage, this.locale);
}
/**
* Retrieve the theme message for the given code.
* <p>Note that theme messages are never HTML-escaped, as they typically
* denote theme-specific resource paths and not client-visible messages.
* @param code code of the message
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getThemeMessage(String code) throws NoSuchMessageException {
return this.theme.getMessageSource().getMessage(code, null, this.locale);
}
/**
* Retrieve the theme message for the given code.
* <p>Note that theme messages are never HTML-escaped, as they typically
* denote theme-specific resource paths and not client-visible messages.
* @param code code of the message
* @param args arguments for the message, or null if none
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getThemeMessage(String code, Object[] args) throws NoSuchMessageException {
return this.theme.getMessageSource().getMessage(code, args, this.locale);
}
/**
* Retrieve the theme message for the given code.
* <p>Note that theme messages are never HTML-escaped, as they typically
* denote theme-specific resource paths and not client-visible messages.
* @param code code of the message
* @param args arguments for the message as a List, or null if none
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getThemeMessage(String code, List args) throws NoSuchMessageException {
return this.theme.getMessageSource().getMessage(
code, (args != null ? args.toArray() : null), this.locale);
}
/**
* Retrieve the given MessageSourceResolvable in the current theme.
* <p>Note that theme messages are never HTML-escaped, as they typically
* denote theme-specific resource paths and not client-visible messages.
* @param resolvable the MessageSourceResolvable
* @return the message
* @throws org.springframework.context.NoSuchMessageException if not found
*/
public String getThemeMessage(MessageSourceResolvable resolvable) throws NoSuchMessageException {
return this.theme.getMessageSource().getMessage(resolvable, this.locale);
}
/**
* Retrieve the Errors instance for the given bind object,
* using the defaultHtmlEscape setting.
* @param name name of the bind object
* @return the Errors instance, or null if not found
*/
public Errors getErrors(String name) {
return getErrors(name, this.defaultHtmlEscape);
}
/**
* Retrieve the Errors instance for the given bind object.
* @param name name of the bind object
* @param htmlEscape create an Errors instance with automatic HTML escaping?
* @return the Errors instance, or null if not found
*/
public Errors getErrors(String name, boolean htmlEscape) {
if (this.errorsMap == null) {
this.errorsMap = new HashMap();
}
Errors errors = (Errors) this.errorsMap.get(name);
boolean put = false;
if (errors == null) {
errors = (Errors) getModelObject(BindException.ERROR_KEY_PREFIX + name);
if (errors == null) {
return null;
}
put = true;
}
if (htmlEscape && !(errors instanceof EscapedErrors)) {
errors = new EscapedErrors(errors);
put = true;
}
else if (!htmlEscape && errors instanceof EscapedErrors) {
errors = ((EscapedErrors) errors).getSource();
put = true;
}
if (put) {
this.errorsMap.put(name, errors);
}
return errors;
}
/**
* Retrieve the model object for the given model name,
* either from the model or from the request attributes.
* @param modelName the name of the model object
* @return the model object
*/
protected Object getModelObject(String modelName) {
if (this.model != null) {
return this.model.get(modelName);
}
else {
return this.request.getAttribute(modelName);
}
}
/**
* Create a BindStatus for the given bind object,
* using the defaultHtmlEscape setting.
* @param path the bean and property path for which values and errors
* will be resolved (e.g. "person.age")
* @return the new BindStatus instance
* @throws IllegalStateException if no corresponding Errors object found
*/
public BindStatus getBindStatus(String path) throws IllegalStateException {
return new BindStatus(this, path, this.defaultHtmlEscape);
}
/**
* Create a BindStatus for the given bind object,
* using the defaultHtmlEscape setting.
* @param path the bean and property path for which values and errors
* will be resolved (e.g. "person.age")
* @param htmlEscape create a BindStatus with automatic HTML escaping?
* @return the new BindStatus instance
* @throws IllegalStateException if no corresponding Errors object found
*/
public BindStatus getBindStatus(String path, boolean htmlEscape) throws IllegalStateException {
return new BindStatus(this, path, htmlEscape);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -