>

오늘 저는 JSF에서 태그가있는 흥미로운 것을 발견했습니다. BalusC의 의견 에서이 점을 알았습니다 :

<h:form>
    <h:outputText value="#{bean.text1}" styleClass="myClass" />
    <p:commandButton value="Update" update="@(.myClass)" /> 
</h:form>

그러나 다음 예제는 작동합니다 (양식에 ID를 할당 할 필요는 없습니다) :

<h:form>
    <h:outputText id="myText" value="#{bean.text1}" styleClass="myClass" />
    <p:commandButton value="Update" update="@(.myClass)" /> 
</h:form>

Primefaces가일반 HTML 태그에 대한 ID를 생성하지 않는 것 같습니다. 여러 구성 요소로 시도했지만 여전히 확실하지 않습니다. 내 결론이 맞습니까? 그렇다면 왜이 동작이 발생합니까?


  • 답변 # 1

    <span> 에 ID 속성이없는 이유를 묻는다고 가정합니다.   <h:outputText value="#{bean.text1}" styleClass="myClass" /> 가 렌더링 한 요소 :

    기본적으로 h:outputText   com.sun.faces.renderkit.html_basic.TextRenderer 가 렌더링 한 구성 요소  (Mojarra의 경우)는 ID를 렌더링하지 않습니다. ID 렌더링 여부는 com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.shouldWriteIdAttribute(UIComponent) 에 의해 결정됩니다.  바로 여기에 :

    와이즈 비즈 와이즈 비즈

    이 모든 것은 평범한 JSF이며 프라임 페이스와 관련이 없습니다.

관련 자료

  • 이전 javascript - 각도 6 - addcontrol을 사용하여 하위 양식 그룹 추가
  • 다음 java - printf 포맷터를 파일로 받아들이지 않는 인쇄기 출력?