문제

나는 그것을 사용하여 데이터를 표시하고 싶습니다 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 ? '&#160;' : 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">
              &#160;
           </td>
        </tr>
    </ui:repeat>
</table>

편집하다: 나는 이것을 시도하지 않았지만 첫 번째 예제에서 둘러싸여 있어야한다 (<h:panelGrid>)와 함께 <c:for> 반복 요소를 렌더링합니다. 그만큼 <c:for> 전에 처리됩니다 <h:panelGrid>. 작동해야합니다.

다른 팁

테이블을 어떻게 렌더링하고 싶은지 이해할 수 없습니다. 테이블의 JSF 코드를 제공 할 수 있다면 도움이 될 것 같아요 ...

그러나이 시점과 관련하여 :

데이터가 비워지면 공간을 남기고 다음 행에서 다음 값을 인쇄해야합니다.

어쩌면 당신은 그런 것을 시도 할 수 있습니다.

<h:outputText value="#{empty aRecord.name ? '&#160;' : aRecord.name}"/>

이 코드는 레코드 이름이 비어 있으면 깨지지 않는 공간을 렌더링합니다. 그렇지 않으면 렌더링됩니다. name 기록의.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top