I want org.springframework.web.servlet.view.InternalResourceViewResolver
to resolve both JSP and HTML pages.
Is that possible?
As an example, when using JSP for a view technology you can use the UrlBasedViewResolver . This view resolver translates a view name to a URL and hands the request over to the RequestDispatcher to render the view.
The ViewResolver maps view names to actual views. And the Spring framework comes with quite a few view resolvers e.g. InternalResourceViewResolver, BeanNameViewResolver, and a few others.
The InternalResourceViewResolver is used to resolve the provided URI to actual URI. The following example shows how to use the InternalResourceViewResolver using the Spring Web MVC Framework. The InternalResourceViewResolver allows mapping webpages with requests.
Explanation: The view resolver InternalResourceViewResolver maps each view name to an application's directory by means of a prefix and a suffix declaration. 3. InternalResourceViewResolver resolves view names into view objects of type.
You can configure an InternalResourceViewResolver
something like this:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=""/>
</bean>
Where the WEB-INF/pages
folder can contain both jsp and html pages and the suffix property is left empty.
Then in your controller, you can have methods that return html views and methods that return jsp views based on the suffix. For example, if index.html
and index.jsp
both exist in WEB-INF/pages
you can do:
@RequestMapping("/htmlView")
public String renderHtmlView() {
return "index.html";
}
@RequestMapping("/jspView")
public String renderJspView() {
return "index.jsp";
}
However, as html pages are static and require no processing, you'd be better to use the <mvc:resources>
tag rather than a view resolver for this type of page. See the docs for more info.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With