2
jsf 관리 빈에서 HtmlDivElement의 객체를 동적으로 만들고 패널에 추가하려고하지만 HtmlDivElement가 인터페이스 인 것처럼 보입니다. 그래서 어떻게 할 수 있습니까?jsf 관리 빈에서 동적 컨트롤을 만드시겠습니까?
jsf 관리 빈에서 HtmlDivElement의 객체를 동적으로 만들고 패널에 추가하려고하지만 HtmlDivElement가 인터페이스 인 것처럼 보입니다. 그래서 어떻게 할 수 있습니까?jsf 관리 빈에서 동적 컨트롤을 만드시겠습니까?
이것은 상당히 혼란스러운 일입니다. org.w3c.dom.html.HTMLDivElement
은 JSF 구성 요소가 아닙니다. 이것은 완전히 다른 목적을 가진 W3 DOM 요소를 나타냅니다 (JAXP, DOM 구문 분석).
javax.faces.component.UIComponent
의 서브 클래스가 필요합니다 (위의 Javadoc에서 "직접 알려진 서브 클래스"를 클릭하면 모두 찾을 수 있습니다). HTML <div>
요소를 렌더링하려면 layout
속성이 block
인 HtmlPanelGroup
을 사용하십시오.
<h:panelGroup layout="block" />
감사 BalusC를 : "정적"JSF에 다음과 같은 효과적으로 같은 일
! 하지만 지금은 또 다른 문제가 있습니다. 동적으로 생성 된 패널 그룹에주는 ID는 모질라에서 소스를 볼 때 동일하지 않습니다. 즉, "abc"+ autoincrementNo로 id를 지정하면 mozilla에서 소스를 볼 때 j_idt9 : abc_1과 같은 것을 얻을 수 있습니다. 어떻게하면 j_idt9를 제거 할 수 있습니다 : 자동으로 접두사가 붙습니다. 사실 내가 생성 된 이드를 제어하는 것이 중요합니다. 그런 바보 같은 질문을하지 않았을 것입니다 : p – TCM
부모 'UINamingContainer' 컴포넌트 ('f : subview','h : form', h : dataTable' 등) 고정 된 ID입니다. BTW : 실제로 자바 스크립트의 이유로 고정 된 ID가 필요하다면이 문제를 해결하는 다른 방법이 있으며 각 요소 아래에서 요소 자체를 'this'로 JS 함수에 전달해야합니다. 예 : 'onclick = "doSomething (this)"'과'function doSomething (element) {var id = element.id; }' – BalusC
나는 당신의 프로필에서 결코 당신이 upvoted도 downvoted 적이 없다는 것을 알 수 있습니다. 점수가 0 인 답변이 이상하게 보입니다. 아래쪽 화살표를 눌러 위쪽 화살표와 아래쪽 화살표를 눌러 upvote 할 수 있습니다. 당신이 어떤 대답을 좋아하면 그것을 upvote. 답에 어떤 가치도 없을 때는 그대로 두십시오. 당신이 어떤 대답을 싫어하면, 그것을 downvote. – BalusC