13

I want org.springframework.web.servlet.view.InternalResourceViewResolver to resolve both JSP and HTML pages.

Is that possible?

informatik01
  • 16,038
  • 10
  • 74
  • 104
Beginner
  • 215
  • 1
  • 2
  • 11
  • The InternalResourceViewResolver is mainly for resolving jsp but not html, you can use ContentNegotiatingViewResolver, see this [answer](http://stackoverflow.com/a/24838783/1165178). – Qianyue Mar 04 '15 at 13:41
  • Working solution ------------------ Please check the below link http://stackoverflow.com/questions/24980839/spring-mvc-viewresolver-not-mapping-to-html-files – Abhi Feb 22 '16 at 15:27

1 Answers1

21

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.

Will Keeling
  • 22,055
  • 4
  • 51
  • 61