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()
Return the order value of this object, with a
higher value meaning greater in terms of sorting.
|
View |
resolveViewName(String viewName,
Locale locale)
Resolve the given view by name.
|
void |
setOrder(int order) |
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
public void setOrder(int order)
public int getOrder()
Ordered
Normally starting with 0, with Integer.MAX_VALUE
indicating the greatest value. Same order values will result
in arbitrary positions for the affected objects.
Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).
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
- 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