문제
나는 그것을 사용하여 데이터를 표시하고 싶습니다 h:dataTable
JSF의 태그 제가 표시하는 데이터는 다음과 같은 형식이어야합니다.
Name: XXXX
ID: 8989
Age: 32
웹에서 다음과 같은 데이터를 표시하는 방법을 알려주는 몇 가지 예를 보았습니다.
이름 ID 연령 XXX 8989 32
이후 dataTable
태그에는 하위 태그 만 있습니다 h:column
그리고 아니요 h:row
나는 이것에 문제가 있습니다. 더 좋은 방법이 있습니까? 사용한 첫 번째 형식을 구현했습니다 h:datable
그리고 h:column
, 먼저 1 열에 모든 열 헤더를 작성한 다음 Column2에 모든 값을 씁니다. 내가 직면하고있는 문제는 값 중 하나가 비어있을 때 다음 값이 그 자리에 인쇄되고 데이터가 잘못된 것처럼 보이면 실제로 형식 문제라는 것입니다. 데이터가 비워지면 공간을 남기고 다음 행에 다음 값을 인쇄해야합니다. 내가 말이되기를 바랍니다. 어떤 생각도 대단히 감사하겠습니다.
아래를 추가하려고 시도했습니다.
<h6><h:outputText value="#{empty imeiInfo.userEmail ? ' ' : imeiInfo.userEmail}"></h:outputText></h6><br/>
그러나 이것에 내가 알 수없는 구문 오류가 있습니다. 내가받는 메시지는 다음과 같습니다.
EL의 구문 오류
어떤 아이디어? 감사.
해결책
반복되지 않는 데이터를위한 것입니까? 그렇다면 사용하십시오 <h:panelGrid>
예를 들어:
<h:panelGrid columns="2">
<h:outputText value="Name:"/>
<h:outputText value="#{person.name}"/>
<h:outputText value="ID:"/>
<h:outputText value="#{person.id}"/>
<h:outputText value="Age:"/>
<h:outputText value="#{person.age}"/>
</h:panelGrid>
데이터를 반복하는 경우 (예 : 여러 '사람') 사용중인 다른 라이브러리에 따라 여러 가지 옵션이 있습니다. 예를 들어:
1 : 페이스 렛을 사용하여 자신의 테이블을 만듭니다 <ui:repeat>
(당신은 똑같이 할 수 있습니다 <c:for>
). 예를 들어:
<table>
<ui:repeat value="#{myBean.persons}" var="person">
<tr>
<td>
<h:outputText value="Name:"/>
</td>
<td>
<h:outputText value="#{person.name}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="ID:"/>
</td>
<td>
<h:outputText value="#{person.id}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="Age:"/>
</td>
<td>
<h:outputText value="#{person.age}"/>
</td>
</tr>
<tr>
<td colspan="2">
 
</td>
</tr>
</ui:repeat>
</table>
편집하다: 나는 이것을 시도하지 않았지만 첫 번째 예제에서 둘러싸여 있어야한다 (<h:panelGrid>
)와 함께 <c:for>
반복 요소를 렌더링합니다. 그만큼 <c:for>
전에 처리됩니다 <h:panelGrid>
. 작동해야합니다.
다른 팁
테이블을 어떻게 렌더링하고 싶은지 이해할 수 없습니다. 테이블의 JSF 코드를 제공 할 수 있다면 도움이 될 것 같아요 ...
그러나이 시점과 관련하여 :
데이터가 비워지면 공간을 남기고 다음 행에서 다음 값을 인쇄해야합니다.
어쩌면 당신은 그런 것을 시도 할 수 있습니다.
<h:outputText value="#{empty aRecord.name ? ' ' : aRecord.name}"/>
이 코드는 레코드 이름이 비어 있으면 깨지지 않는 공간을 렌더링합니다. 그렇지 않으면 렌더링됩니다. name
기록의.