필자는 모든 taglib 선언 (uri 등)을 공통 헤더 파일에 넣으려는 아이디어를 가지고 있었기 때문에 수동으로 모든 태그에 태그를 쓰지 않아도된다. JSP. 처음에는 단순한 EL 구문만큼 실제 taglibs를 사용하지는 않지만 상황은 훌륭하게 보였습니다. 그러나, 나는 명시 적으로 taglibs 선언 한 것을 제외하고 모든 JSP 파일에 문제가 있습니다. 다른 jsp (헤더 파일을 포함)는 모두 <c:something.../>
태그를 HTML 인 것처럼 취급하고 평가하지 않습니다. 나는 약간의 인터넷 검색을했고, 내가하려고 노력하고있는 것이 할 수 있다고 제안하는 this post on O'Reilly를 발견했다. 그러나 나는 분명히 뭔가 잘못하고있다. 더 중요한 것은 헤더 파일의 다른 내용 (일반적인 페이지 헤더, 페이지 제목 등)이 모두 잘 나타나기 때문입니다. 헤더 파일과 포함 된 샘플은 다음과 같습니다.JSTL taglibs가 공통 헤더로 선언되었을 때 인식되지 않는다
헤더 파일 :
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page session="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
에 포함될 문 :
<jsp:include page="/WEB-INF/jsp/include/header.jsp">
<jsp:param name="title" value="Home" />
</jsp:include>
오, 와우, 그건 끔찍한 치킨 - 또는 - 달걀 문제가 아닙니다. 그 다음에 가장 좋은 방법은 페이지에 들어가서'<% @ include ... '문법과' '문법을 사용하는 두 개의 include로 나누는 것입니다. 구문, 나중에? –
@Chris : 두 개의 include로 나눌 수 있습니다. 아마도 하나는 taglib에 대해 '<% @ include %>'를 사용하고 다른 하나는 HTML 헤더에 ''을 사용하는 것입니다 ... –
skaffman
내 의견을 편집했으나 우리가 같은 생각을 갖고있는 것처럼 보입니다 :-) 고마워요! –