java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
程序员文章站
2022-03-21 20:33:26
...
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
前言
使用SSM框前端使用Ajax异步访问接口时报此错误,一看错误明天是jar包没找到(废话),接下来就是导入相应jar包吧
解决方式一 (导入相关jar包)
项目已引入jar包
<!-- jstl依赖 -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
还需引入的jar包
需要增加两个依赖jstl-api和jstl-impl
<!-- jstl -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- jstl-api -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<!-- jstl-impl -->
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
</dependency>
解决方式二 (加@ResponseBody注解)
如果你的springmvc只做restful接口,那么请注意:
- 在方法名上天加@ResponseBody;
- 或将@Controller改为@RestController (其实也是方法1,这个@里面包含 @ResponseBody)。
解决。
有@ResponseBody 会默认使用 RequestResponseBodyMehodProcessor 去处理 response; 没有这个标签,默认使用ModelAttributeMethodProcessor处理 response,这种情况下就需要jstl。
如果你是需要返回jsp或html的请使用方式一的解决方案
上一篇: JSTL常用写法