您的位置:首页 > 编程语言 > Java开发

Maven +SpringMVC 搭建时候遇到视图view跳转失败问题

2015-12-05 12:33 459 查看

maven+springmvc

这个问题是在我搭好环境,测试时候遇到的,首先我在
spring-servlet.xml
采用第一种视图解析器:


第一种视图解析器配置

<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<!-- 配置jsp路径前缀   -->
<property name="prefix" value="/WEB-INF/view/"></property>
<!--  配置URl后缀   -->
<property name="suffix" value=".jsp"></property>
</bean>
</bean>


然后开开心心去测试。。。然后:

error:java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config

问题很明显没有找到jstl,所以我去http://search.maven.org/这里 找到了jstl的依赖,加入到maven 中 问题得到解决。

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>


然后,很不爽。。不知道为什么,需要哪个依赖。所以采用了第二种方式

如下:

- 第二种视图解析器配置

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>


然后删除了依赖。重启。。然后,没有出现上面那个错误。。成功跳转。

通过各种博客的查找,总结如下:

UrlBasedViewResolver:它简单实现了ViewResolver接口,它不用显式定义,直接影响逻辑视图到URL的映射。它让你不用任何映射就能通过逻辑视图名称访问资源

org.springframework.web.servlet.view.JstlView 采用 jstlview对象解析视图,所以记得加入jstl的依赖。。还有不要加错了。

InternalResourceViewResolver:国际化视图解析器,UrlBasedViewResolver的子类

InternalResourceViewResolver
UrlBasedViewResolver
的子类,它将
InternalResourceView
作为缺省的View类,如果当前classpath中有jstl的jar包,则使用
JstlView
作为缺省的view
来渲染结果。所以没有那个jar 也是可以处理的。

参考这篇 /article/5794269.html 写的很棒。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: