2017-12-11 18 views
0

현재 ResultSet을 JSF의 h : dataTable에 표시하려고합니다.JSF ResultSet in h : 동적 열이있는 dataTable

기본적으로 내가하고있는 일은 웹 사이트에 삽입 할 수있는 SQL 문을 실행하고 그 결과를 테이블에 표시하고 싶습니다. 사용되는 테이블이 동적이기 때문에 모델 클래스를 만들 수 없습니다. 까다로운 부분은 사실 ResultSetMetaData에서 ResultSetMetaData에서 가져 오는 컬럼의 수와 ResultSet에있는 컬럼의 수를 알 수 없다는 것입니다.

JSF를 사용하여 웹 사이트의 테이블에 동적 열과 열 내용 (다른 데이터 유형)이있는 항목을 표시하려면 어떻게해야합니까?

미리 감사드립니다.

+1

다음에 일반 자바에서이 같은 인쇄 시도에 JSF/XHTML/EL/... 즉 exactely 무엇인지 '대답' '외삽'시도 않습니다 ... – Kukeltje

답변

0

List<Map<String, Object>> results과 같은 데이터 구조를 관리 빈에 저장하여 결과를 저장하십시오. UI 측에서는 h:dataTable 대신 2 개의 중첩 된 ui:repeat 요소를 사용하십시오. 바깥 쪽 반복은 행 (results)을 반복하고 내부 반복은 열 (result.keySet())을 반복하며 각 셀은 result.get(fieldName)의 값을 갖습니다.

하지 테스트 UI 코드 :

<table> 
    <ui:repeat value="#{mb.results}" var="result"> 
     <tr> 
      <ui:repeat value="#{result.keySet()}" var="fieldName"> 
       <td> 
        #{result.get(fieldName)} 
       </td> 
      </ui:repeat> 
     </tr> 
    </ui:repeat> 
</table>