public class BeanNameViewResolver extends WebApplicationObjectSupport implements ViewResolver, Ordered
ViewResolver
that interprets a view name as a bean name in the current application context,
i.e. typically in the XML file of the executing DispatcherServlet
.
This resolver can be handy for small applications, keeping all definitions
ranging from controllers to views in the same place. For larger applications,
XmlViewResolver
will be the better choice, as it separates the XML
view bean definitions into a dedicated views file.
Note: Neither this ViewResolver
nor XmlViewResolver
supports
internationalization. Consider ResourceBundleViewResolver
if you need
to apply different view resources per locale.
Note: This ViewResolver
implements the Ordered
interface
in order to allow for flexible participation in ViewResolver
chaining.
For example, some special views could be defined via this ViewResolver
(giving it 0 as "order" value), while all remaining views could be resolved by
a UrlBasedViewResolver
.
XmlViewResolver
,
ResourceBundleViewResolver
,
UrlBasedViewResolver
logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
BeanNameViewResolver() |
Modifier and Type | Method and Description |
---|---|
int |
getOrder()
Get the order value of this object.
|
View |
resolveViewName(String viewName,
Locale locale)
Resolve the given view by name.
|
void |
setOrder(int order)
Specify the order value for this ViewResolver bean.
|
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
public void setOrder(int order)
The default value is Ordered.LOWEST_PRECEDENCE
, meaning non-ordered.
Ordered.getOrder()
public int getOrder()
Ordered
Higher values are interpreted as lower priority. As a consequence,
the object with the lowest value has the highest priority (somewhat
analogous to Servlet load-on-startup
values).
Same order values will result in arbitrary sort positions for the affected objects.
getOrder
in interface Ordered
Ordered.HIGHEST_PRECEDENCE
,
Ordered.LOWEST_PRECEDENCE
@Nullable public View resolveViewName(String viewName, Locale locale) throws BeansException
ViewResolver
Note: To allow for ViewResolver chaining, a ViewResolver should
return null
if a view with the given name is not defined in it.
However, this is not required: Some ViewResolvers will always attempt
to build View objects with the given name, unable to return null
(rather throwing an exception when View creation failed).
resolveViewName
in interface ViewResolver
viewName
- name of the view to resolvelocale
- the Locale in which to resolve the view.
ViewResolvers that support internationalization should respect this.null
if not found
(optional, to allow for ViewResolver chaining)BeansException