2013-09-22 7 views
1

JSF 및 최대 절전 모드에서 페이지 매김을 구현하려고합니다.library, org.apache.myfaces.custom에서 dataList.xhtml 리소스를 찾거나 사용할 수 없습니다.

내 html 페이지에 다음 문장이 있습니다.

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" 
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" 
xmlns:t="http://myfaces.apache.org/tomahawk"> 

<t:dataList value="#{med.pages}" var="page"> 

나는 포함했다 tomahawk20-1.1.14 - 빈 - 모든 전쟁 파일/빌드 -/구축/웹/WEB-INF/lib 디렉토리와 토마 호크 - 예-1.1.14-빈에있는 jar 파일/web/WEB-INF/src/META-INF

그러나이 오류가 발생합니다. library, org.apache.myfaces.custom에서 dataList.xhtml 리소스를 찾거나 검색 할 수 없습니다. 어떻게해야합니까?

+0

일부 웹 서버 (Apache, weblogic)에는 이미 JSF 라이브러리가 포함되어 있습니다. 다시 포함 시키려고하면 서버 컨테이너에서 오류가 발생합니다. – Erick

답변

1

내가 생각하기에 Mojarra가 (복합 및 일반 구성 요소에 대해 해당 파일을 사용하는 경우에도 .taglib.xml을 읽는 것이 혼란 스럽다. 새로운 2.2 사양에서 명확히 설명했다.) MyFaces JSF 구현 사용 대신에 그것을 고정 시키십시오.

+0

좋습니다, 감사합니다. 다른 출구가 없어? – GobSmack

+0

불행히도 다른 방법은 없습니다. 라이브러리가 Mojarra와 호환되도록 유지하는 것은 사양이 무엇을 말하는지 제대로 구현하지 못한다면 불가능합니다. ( – lu4242

+0

고맙습니다. Myfaces로 시도해 보겠습니다. – GobSmack

1

나는 이것이 tomahawk 문제라고 생각합니다.

facelet으로 taglibrary 스키마에 지정된대로

, 런타임도 가 composite-library-name 요소를 지원해야합니다 은 JSF 2.2 스펙이 언급. 런타임은 이 섹션의 2.6.1.4 "로컬 라이즈 된 라이브러리 및 버전 관리 된 리소스"에서 설명한대로 리소스 이름으로이 요소의 내용을 해석해야합니다. 이 요소가 포함 된 faclet 태그 라이브러리 설명자 파일이 인 경우 런타임은 동일한 태그 라이브러리 디스크립터의 요소를 검사하여 을 facelet 페이지의 XML 네임 스페이스 선언에 사용할 수 있도록해야합니다.

는 그리고 사양도이있다 :

당신이 composite-library-name을 선언하는 태그 라이브러리 파일이 필요합니다 http://java.sun.com/jsf/composite/libraryName 이외의 네임 스페이스와 CC를 사용하십시오. 현재 은 taglib 파일에 tag 요소를 선언하지 않아야합니다. 의 모든 태그는 동일한 리소스 라이브러리에서 가져와야합니다. 토마의 경우

은 합성 라이브러리 이름 리소스 (META-INF/자원 밑에 디렉토리 이름), 따라서 에러를 가리 키지 않는다.

여기서 간단한 해결책은 tomahawk.taglib.xml 파일에서 composite-library-name 요소를 제거하는 것입니다 (물론 다른 목적으로는 필요하지 않은 경우). 그러나 나는 그것을 테스트하지 않았다.

+0

OP에서보고 한 메시지가 경고 인 경우 추가해야합니다. Mojarra 2.2.10 및 Tomahawk20-1.1.4 –

+0

Tomahawk20-1.1.14는 2012-10-23에 빌드 된 것으로 보이며 프로젝트는 그 이후 (거의 4 년) 업데이트되지 않은 것 같습니다.이 문제는 프로젝트 관리자가 고치지 않을 것이라고 추측합니다. 당신 (OP)은이 기능을 대체 할 PrimeFaces에서 뭔가를 찾을 수 있습니다. – Pixelstix