2013-06-12 9 views
1

일부 소스는 JSF2.2 페이지에서 눈에 잘 띄지 않는 jsf : id 속성을 사용할 수 있음을 나타냅니다.JSF 2.2 html5 친화적 인 페이지

https://weblogs.java.net/blog/edburns/archive/2012/11/01/html5-friendly-markup-jsf-22 http://www.apress.com/9781430244257

태그 라이브러리 기술자는 다른 URL을 사용합니다. 이 책에서

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:jsf="http://java.sun.com/jsf"> 
<head jsf:id="head"> 

: 웹 로그에서

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:jsf="http://xmlns.jcp.org/jsf"> 
<head jsf:id="head> 

그러나, 최신 JSF2.2 구현 (2.2.0-M15)를 사용하는 동안, 태그 설명 모두 URL을 연결할 수 있습니다 (CANNOT_FIND_FACELET_TAGLIB), 부분적으로 해석되지 않은 html 페이지가 생성됩니다.

jsf 태그 라이브러리에 대한 올바른 URL을 어디에서 찾을 수 있습니까? 그 URL에 대한 어떤 종류의 색인이 있습니까?

답변

1

후자가 올바른 정의입니다. 나는 head 태그가 JSF와 그런 식으로 사용되지는 않는다고 생각합니다. JSF html 태그 라이브러리를 사용하십시오.

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://xmlns.jcp.org/jsf/html" 
     xmlns:jsf="http://xmlns.jcp.org/jsf"> 
    <h:head></h:head> 
.... 

일반적으로 HTML5 입력 구성 요소에는 jsf:id을 사용합니다. 정보 및 응용 프로그램 예제는 Java EE 7 Tutorial section on HTML5/JSF pass-through을 참조하십시오.

2

jsf:id을 사용하려면 http://xmlns.jcp.org/jsf 네임 스페이스를 사용하십시오. 이는 양식 입력에 적용 가능합니다. 헤드 태그에는 사용되지 않습니다. HTML5의 입력 태그의 속성은 Facelets의 페이지의 일부로 처리되도록 여기

 <html ... xmlns:jsf="http://xmlns.jcp.org/jsf" 
     ... 
     <input type="email" jsf:id="email" name="email" 
     value="#{reservationBean.email}" required="required"/> 

의 JSF 접두사는 id 속성에 배치됩니다 : 예를 들어, 다음 코드는 짧은 이름 JSF와 네임 스페이스를 선언합니다.