JSP 페이지에서 JSTL 에러 : According to TLD or attribute directive in tag file, |
개발환경 : JDK 1.5, eclipse-galileo, window XP, JSP 2.0 , Servlet 2.4 , JSTL 1.1 |
JSP 에서 JSTL 을 사용할 때 아래와 같은 에러 메시지를 만날때가 있다. 원인은
JSP, Servlet, JSTL 버전이 맞지 않기 때문에 파싱과정에서 에러가 나는 것이다.
Error Message: According to TLD or attribute directive in tag file, attribute items does not accept any expressions. When working on a J2EE (Java Enterprise Edition) web application with JSTL (JSP Standard Tag Library), this is a pretty common error. |
JSP 에서 JSTL 을 사용하기 위해 web-app 에 XML 스키마를 설정한다.
JSP 버전과 Servlet, JSTL 버전과의 상관관계에 대한 내용은 다음과 같다.
이 버전이 제대로 맞지 안으면 위와 같은 에러가 난다.
JSP 1.2 , Servlet 2.3 , JSTL 1.0 JSP 2.0 , Servlet 2.4 , JSTL 1.1 |
만약 Servlet 2.3 을 사용해서 Web Application 프로젝트를 생성했다면 아래와
같이 DTD 스키마를 설정한다.
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> |
Servlet 2.4 라면 아래와 같은 xml 스키마를 설정한다.
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> ..... </web-app> |
위 내용이 제대로 되어 있는데도 에러가 난다면 JSP 페이지 상단에 설정한
JSTL 주소를 변경해 준다. jstl/core 를 jsp/jstl/core 로 변경해 주는 것이다.
<%@ taglib uri='http://java.sun.com/jstl/core' prefix='c'%> 에서 <%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%> 로 바꿔준다. |
'자바(JAVA)' 카테고리의 다른 글
weblogic.xml 설정 스크립트에 대한 내용 (0) | 2010.08.10 |
---|---|
스트럿츠 (Struct) 기반 xml 을 WAS 재구동없이 자동으로 로드하기 (0) | 2010.08.07 |
자바 프로젝트 jar -> exe 로 바꿔주는 JSmooth (12) | 2010.08.02 |
자신만의 filter class 만들어서 적용하기 (1) | 2010.08.02 |
JSP 페이지에서 contentType with different values 에러가 날 때 (0) | 2010.08.02 |
input 박스에 자동 submit 막기를 위한 여러가지 방법 (6) | 2010.08.02 |
SQL Statement Log 를 보기위한 log4jdbc 사용법 (1) | 2010.08.02 |
Controller 영역인 브라우저에서의 단위테스트를 위한 HtmlUnit 사용하기 (0) | 2010.08.02 |