2012-07-27 5 views
1

실패 할 것으로 예상되지만 작동하는이 코드가 있습니다. 포커스를받을 구성 요소는 <p:inputText>이므로 그 이름이 custForm:panelGrid:name-id (구성 요소 내에 <p:inputText> 구성 요소가 포함 된 것을 반영하기 위해)을 기대합니다. 그러나 작동하는 유일한 이름은 custForm:name-id입니다. id을 정규화 된 이름에 "삽입"하지 않는 일부 PrimeFaces 구성 요소가있는 것 같습니다. 그렇다면 문서화 된 곳은 어디입니까?PrimeFaces에서 JSF 구성 요소의 이름 지정

<h:form id="custForm" styleClass="jsfcrud_list_form"> 
<script type="text/javascript"> 
    function primeFacesId() 
    { 
     var original = 'custForm:name-id'; 
     var idToSetFocus = PrimeFaces.escapeClientId(original); 
     $(idToSetFocus).focus(); 
    } 
</script> 
<script> 
    jQuery(document).ready(function() { 
     primeFacesId(); 
    }); 
</script> 
<p:panelGrid columns="10" style="width: 98%;margin-left: 1%;margin-right: 1%;" id="panelGrid"> 
    <h:outputLabel for="name" value="Name:" /> 
    <p:inputText id="name-id" value="#{customerLController.nameDBConstraint}" label="name" /> 
     (...) 

일반에 대한

답변

1

[I가 기업 방화벽 및 때문에 오전은 "SO 다른 도메인의 외부 자바 스크립트를 필요로"나는 며칠에 대한 모든 답변을 받아 들일 수 없습니다] JSF는 NamingContainer 인터페이스를 구현하는 모든 구성 요소를 ID를 접두사로 사용하여 컨테이너 안의 모든 구성 요소에 추가합니다. 예를 들어 또는 h:dataTable이지만 h:panelGrid이 아닙니다. 자세한 내용은 API documentation for Mojarra에서 찾아 볼 수 있습니다.

많은 Primefaces 구성 요소가 표준 JSF 구성 요소에서 파생되므로 그 동작이 비슷하다고 생각합니다.

UPDATE : 또한 tabView, accordionPanel, 데이터 테이블, 데이터 그리드, 데이터 목록에, 형태, 데이터 테이블, 복합 성분이 명명되어 컨테이너 :

JSF H : 는 I은 버전 3.2에 대한 Primefaces 문서이 발견 캐 러셀, galleria, ring, sheet 및 subTable은 NamingContainer를 구현하는 PrimeFaces 구성 요소 입니다.

는 적어도 p:panelGrid이 사실이 아니다 (그리고 PF showcase for the panelgrid의 HTML 소스에서 확인할 수 있습니다).

관련 문제