spring MVC html视图渲染及spring MVC配置文件中的路径问题

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'

在这里插入图片描述

  • 原因分析
    1. 没有发现文件位置也就是上面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>

且上述配置必须有先后顺序,顺序如上所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值