나는 다음과 같은 렌더링 된 HTML을 가지고, 내가 OmniFaces Components.findComponent와 JSF를 통해 빈에서 디스플레이 CSS를 확인하고 싶습니다 :이 PrimeFaces 확장 layoutPane (layoutPane PE)에 ID를 할당하기 때문에OmniFaces Components 유틸리티를 사용하여 XHTML 페이지에서 구성 요소의 HTML/CSS 속성 값을 가져 오는 방법은 무엇입니까?
<div id="ordersBrowseForm:ordersBrowseWestPane" class="ui-layout-west ui-widget-content ui-corner-all ui-layout-pane ui-layout-pane-west" data-combinedposition="west" style="position: absolute; margin: 0px; left: 0px; right: auto; top: 116px; bottom: 0px; height: 312px; z-index: 0; width: 198px; display: none; visibility: visible; "><div class="ui-widget-header ui-corner-top pe-layout-pane-header">
UIComponent.
Accessing attributes passed to extended PrimeFaces component
내가 내 콩에 다음과 같은 한 : 다음에 BalusC의 답변에 따라
는INFO: LayoutController.handleResize(): ordersBrowseForm:ordersBrowseWestPane style = null
:
UIComponent westPane = (UIComponent) Components.findComponent("ordersBrowseForm:ordersBrowseWestPane");
if (westPane != null) {
Map attrs = westPane.getAttributes();
String paneStyle = (String) attrs.get("style");
if (debug) {
String log;
log = "LayoutController.handleResize(): ordersBrowseForm:ordersBrowseWestPane style = " +
(paneStyle != null ? paneStyle : "null");
System.out.println(log);
}
}
서버 로그 항상 다음 포함 제발 조언. 감사.
맞아, BalusC. 여기에 stackoverflow.com 및 google.com에 대한 검색 몇 가지 않았다, 연구 후이 배운 다음 내 질문에 대답 같은 시간에, 나는 이미 div.style.display 얻을 것이다 일부 자바 스크립트 작성하려고했습니다. PrimeFaces Extensions pe : layout에 열기, 닫기, 크기 조정을위한 이벤트가 있으므로 'west'layoutPane의 크기가 조정되면 p : ajax를 통해 제출하십시오. – Howard
그래서, h : inputHidden이 p/ajax 이벤트 = "resize"가 발생했지만 div : inputHidden을 얻지 못하면 서버/bean에 div.style.display 값을 전달하는 솔루션을 함께 해킹하려고했습니다. p : ajax partialSubmit = "true 또는 false"로 지정해도 전혀 업데이트되지 않았습니다. 최근 jquery html() 메서드를 사용하여 내부 HTML을 가져 오거나 수정하는 방법을 배웠지 만 여기서는 최상의 솔루션이라고 생각하지 않습니다. – Howard
Google 크롬 (패널이 F12 키로 열림)은 서쪽 레이아웃 창이 숨겨져 있지만 javascript를 통한 div.style.display 값이 어떤 이유로 든 신뢰할 수 없으며 스타일이 'display : none'임을 보여줍니다. 특정보기에 대해 서쪽 레이아웃 창을 렌더링 할 때 p : ajax event = "resize"가 '렌더링 됨'(조건부로) 될 때 동작 또는 서버 트립이 마음에 들었습니다. 어쨌든, 고마워, 그리고 모든 점에서 p : ajax event = "resize"를 사용하여 bean을 업데이트하는 것에 대해 걱정하지 않을 것입니다. :) – Howard