1. spring MVC html视图渲染
[org.springframework.web.servlet.PageNotFound]-No mapping found for HTTP request with URI [/project/classpath:/WEB-INF/readBook/html/test.html] in DispatcherServlet with name 'spring'
- 原因分析
- 没有发现文件位置也就是上面spring MVC配置文件路径出错,用自动生成的index.jsp测试且index.jsp位置在/WEB-INF/下,进行如下配置即可:
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix"
value="/WEB-INF/" />
<property name="suffix" value=".jsp" />
<property name="order" value="1" />
</bean>
但是将文件中的
<property name="prefix"
value="/WEB-INF/" />
<property name="suffix" value=".jsp" />
改为
property name="prefix" value="/WEB-INF/readbook/html/" />
<property name="suffix" value=".html" />
<property name="order" value="2" />
<property name="contentType" value="text/html;charset=UTF-8" />
结果仍然出现,在网上查找虽然上面的配置也能解析,但是得另有配置暂时还没查到怎样使用,但是可以使用专门解析html文件的解析器:
<!--1-->
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath">
<value>/WEB-INF/readbook/html/</value>
</property>
</bean>
<!--2-->
<bean id="htmlviewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".html" />
<property name="order" value="1"></property>
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer
必须配置freemarker依赖
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
且上述配置必须有先后顺序,顺序如上所示