2014-07-25 2 views
2

나는 다음과 같은 내용으로 WEB-INF는/JSP/폴더 안에 내 base.jspf을 넣어 :자바 EE JSPF 태그 라이브러리

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 

그리고 나는 또한 다음과 같은 내용으로 WEB-INF가/web.xml 파일을 정의

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
          http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
     version="3.1"> 

    <display-name>Address Book Application</display-name> 

    <jsp-config> 
     <jsp-property-group> 
      <url-pattern>*.jsp</url-pattern> 
      <url-pattern>*.jspf</url-pattern> 
      <page-encoding>UTF-8</page-encoding> 
      <scripting-invalid>false</scripting-invalid> 
      <include-prelude>/WEB-INF/jsp/base.jspf</include-prelude> 
      <trim-directive-whitespaces>true</trim-directive-whitespaces> 
      <default-content-type>text/html</default-content-type> 
     </jsp-property-group> 
    </jsp-config> 
</web-app> 

하지만 다른 JSP 파일에서 taglib에 액세스하면 항상 c 또는 fn을 이해하지 못한다는 오류가 발생합니다. Eclipse Luna를 Java SE 8의 IDE로 사용하고 있습니다.이 문제를 해결할 수있는 방법이 있습니까?

감사합니다.

+0

태그가있는 병은 어디에 있습니까? 정확히 어떤 오류 메시지가 나타 납니까? – nitind

+0

pom.xml 파일과 함께 있으며 오류 메시지는 "other.jsp 파일에서"함수 fn : 길이가 정의되지 않았습니다. "입니다. 귀하의 답변에 대해 – user3796247

답변

0

이클립스 루나 (그리고 동일한 상황 인 것 같습니다. 즉, Nick Williams가 작성한 우수 도서의 예를 통해 작업 한 것)와 동일한 구문 확인 불만 사항이 있습니다. Eclipse 설정을 변경하십시오. 즉, "answer"나 "crews"대답은 전반적으로 좋지만, 지금까지 사용한 적이있는 해결 방법은 다음과 같습니다.

1a - 배포 설명자의 jsp-config를 코드 줄을 구문 슬리핑하는 모든 JSP 파일에 추가합니다.

<%@ include file="/WEB-INF/jsp/base.jspf" %> 

이 문제가 해결되었습니다. 단점이라면 잠재적으로 많은 jsp 파일에 추가 코드 줄을 추가하는 것에 반대하는 것입니다 ... 포함 된 줄과 함께 새로운 JSP 템플릿을 정의 할 수 있다고 생각하지만 그래도 포함되어 있습니다 :)

1b - Even 좀 더 수동적 인 해결 방법 : 일반적으로 구문 불만 사항을 간단하게 살펴보면 잘못된 jsp 파일에 아직 가져 오지 않았거나 포함되지 않은 내용이 표시되므로 base.jspf에서만 관련된 누락 된 행을 복사 할 수 있습니다.이 경우에는 jspf는 일종의 템플릿 저장소로서 자체적으로 저장됩니다. 그러나 확실히 그것은 내 일을하는 매우 우아한 방식이 아닙니다.

나보다 더 잘 알고있는 누군가가 더 좋은 해결책을 가지고 있다면, pls는 우리에게 계몽합니다. 위의 해결 방법은 다음과 같습니다. 프로젝트 코드를 실행하기 위해 문제를 해결할 수 있습니다.

+0

주셔서 감사합니다. 나는 또한 결국 똑같은 일을했지만 배포 용 디스크립터에서 한 번만 선언하여 각 ​​JSP 파일의 헤더로 사용한다는 목적을 달성했다고 생각한다. – user3796247

+0

예, 당신은 그 해결 방법이 다소 목적을 이길 것이라고 말합니다. 내가 적당한 해결책을 찾지 못하면 언젠가 그것을 제공 할 것이다 ... 나는 Maven 의존성 jars를 복사해야 할 필요성과 연결될 수 있다고 생각한다. 아파치의 라이브러리 ...하지만 그것은 단지 추측입니다. – murmelssonic

+1

이 토론에서 더 좋은 해결 방법을 찾았습니다. http://stackoverflow.com/questions/8998484/how-to-disable-the-jsp-validation-in-eclipse-helios 사용자 Abel ANEIROS가 말한 것 : 환경 설정> 유효성 검사> JSP 콘텐츠 Validator> Validation> JSP Syntax Validator (수동 및 빌드 선택 취소) "Validation을 사용하는 문법 불만에도 불구하고 실제로 Tomcat 빌드가 제대로 작동하기 때문에 나에게 좋을 것 같다. 유효성 검사 설정을 때때로 전환하여 "실제"오류를 잡습니다. – murmelssonic