Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바 5464
- leetcode 1721
- 코딩테스트
- dfs
- 그래프 자바
- daily challenge
- 스프링 에러
- DP
- 인텔리제이 에러
- 프로그래머스
- 구현
- BFS
- 리트코드 1557
- 백준 18222
- 스택
- java leetcode
- 자바 리트코드
- 리트코드 자바
- 파이썬
- 카카오
- 백준 16935
- java 프로그래머스
- 자바
- 리트코드
- 분할정복
- 프로그래머스 java
- 백준
- 코테
- Java
- leetcode
Archives
- Today
- Total
레벨업 일지
[에러] - 인텔리제이 스프링 JSTL 500 에러 본문
환경
다음은 내 컴퓨터의 스프링 환경이다.
- 스프링 버전 : 3.x.x
- 사용IDE : 인텔리제이
- dependency 관리 : 메이븐 maven, pom.xml
문제
jsp 태그 라이브러리 인식을 못한다.
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
org.apache.jasper.JasperException: /WEB-INF/views/home/main.jsp (line: [33], column: [4]) According to TLD or attribute directive in tag file, attribute [test] does not accept any expressions
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41) ~[tomcat-embed-jasper-11.0.0-M6.jar:11.0.0-M6]
...
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
2023-06-12T02:06:49.832+09:00 ERROR 12320 --- [nio-3000-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [/WEB-INF/views/home/main.jsp (line: [33], column: [4]) According to TLD or attribute directive in tag file, attribute [test] does not accept any expressions] with root cause
org.apache.jasper.JasperException: /WEB-INF/views/home/main.jsp (line: [33], column: [4]) According to TLD or attribute directive in tag file, attribute [test] does not accept any expressions
r.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
..
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.8.jar:10.1.8]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
원인
스프링 3.x.x 을 사용하는 개발자라면, 다음 두 가지 원인이 있다.
- 잘못된 태그라이브러리 Syntax
- JSTL 관련 의존성 파일이 없어서
해결
1번 원인
- 문제 원인이 1번이라면, 태그 라이브러리 문법을 확인하면 해결된다.
나의 경우 이렇게 jstl 태그 라이브러리 선언에 문제가 있었다
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/core"%>
다음 코드로 고친다. jstl 최신 버전에서는 이 문법으로 바뀌었다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2번 원인
- maven 기준 다음 세 가지 의존성을 추가한다.
- gradle은 아래 레포지토리 이름이나 밑에 참고 URL을 확인할 것.
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.0</version>
</dependency>
참고
https://docs.spring.io/spring-framework/reference/web/webmvc-view/mvc-jsp.html
세 가지 의존성 URL
https://mvnrepository.com/artifact/jakarta.servlet.jsp/jakarta.servlet.jsp-api/3.1.1
https://mvnrepository.com/artifact/jakarta.el/jakarta.el-api/5.0.1
https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api/6.0.0
'JAVA > spring' 카테고리의 다른 글
[에러] 스프링 java 버전 에러 (0) | 2023.02.23 |
---|---|
[Annotation] @란? (0) | 2023.02.08 |
[에러] cannot resolve symbol 'validation' (1) | 2023.02.07 |
[에러] error: variable name not initialized in the default constructor (0) | 2023.02.07 |
[에러] failed :compileJava (0) | 2023.02.07 |
Comments