TheFIF
640
2019-08-30 14:33:41
13
548

c:forEach를 사용하여 받은 데이터를 테이블에 뿌리는 방법 질문입니다.


안녕하세요, 자바로 sql관련 프로그램을 만들어 보고 있습니다.


  컨트롤러에서 받은 데이터를 view에 뿌리는 방법 질문입니다.

현재 데이터가 테이블에 이런식으로 나오고 있습니다.



위 사진은 sql-developer를 사용하여 select했을때 나오는 그림인데요,

이것처럼 나오게 하고 싶습니다.

데이터를 이런식으로 끊어서 오른쪽으로 가게 해야하는데...이것저것 해봤지만 잘안되고 있는상황입니다.

ㅠ,ㅠ


컨트롤러에서 데이터를 list에 추가한후, ModelAndView에 담아 view로 데이터를 넘겨줬습니다.


view에서는 이런식으로 c:forEach를 사용하여 구현했는데, 이렇게 하니까 붙어서 쭉 나옵니다.

어떻게 해야할까요...




애초에 컨트롤러에서 데이터를 보낼때 끊어서 보내야 하나요?

이건 콘솔로 찍어본겁니다.


조언이나 참고할만한 사이트 알려주시면 감사하겠습니다!

0
0
  • 답변 13

  • 리오레오
    869
    2019-08-30 14:41:59

    <table>

    <tr>

    <td>aaa</td>

    </tr>

    </table>

    형식으로 쓰세요.

    0
  • TheFIF
    640
    2019-08-30 14:44:56
    0
  • 리오레오
    869
    2019-08-30 14:46:58

    이미지 캡쳐한 소스로 봐서는 그림처럼 나오는게 당연합니다.

    제대로 형식을 지켜주세요.


    0
  • NoProblem
    46
    2019-08-30 14:49:30


    id123
    namewillmarrydean
    birth910101920101930101

    이렇게 노출하고 싶다는건가요?

    0
  • TheFIF
    640
    2019-08-30 14:50:10

    #리오레오 


    네..그래서 sql-developer처럼 나오게 하려면 어떻게 하는지 질문을 드린겁니다...

    0
  • TheFIF
    640
    2019-08-30 14:50:35
    0
  • 리오레오
    869
    2019-08-30 14:59:43

    https://doublesprogramming.tistory.com/95 참고 되실지 모르겠네요.

    0
  • NoProblem
    46
    2019-08-30 15:00:36

    sql-developer랑 다른데요.. 가로로 뿌리는거랑 세로로 뿌리는 차이가 있습니다.

    sql-developer

    idnamebirth
    1will910101
    2marry920101
    3dean930101


    0
  • 클라우디오
    60
    2019-08-30 15:01:39

    애초에 list안에 list형태로 담으셔서 뿌릴때도 forEach안에  forEach로 뿌리셔야 되지 않을까요?

    0
  • sac89
    494
    2019-08-30 15:04:31

    그림처럼 나오는 것을 굳이 화면쪽에서 처리하고 싶으시다면

    컨트롤러 단에서 해당 listData를 다시 가공해서 화면쪽으로 넘겨주셔도 될 것 같습니다.


    list[0][0] = id, list[0][1] = 1

    list[1][0] = name, list[1][1] = 홍길동

    list[2][0] = birth, list[2][1] = 900000 형태로 넘겨서 


    forEach 2번 돌리시는것도... (많이 번거롭습니다.)


    해당 Query 에서 해결하는 것이 제일 쉬운 방법일듯합니다.

    0
  • 리오레오
    869
    2019-08-30 15:09:03

    처음에 데이터를 담을 때 각 레코드를 분리해서 담지 않은것 같은데요.

    쿼리도 확인해봐야할 문제고요.

    0
  • 스트라
    514
    2019-08-30 15:36:37

    sql-developer 처럼이면 아래처럼 하시면 될 듯, columnCount 는 java 소스 for 안에서 사용하시는 columnCount 에요. mav에 포함해서 넘겨주세요.


    <table style="border: 1px solid;">
        <tr>
            <td>수행건수 : ${count}건</td>
            <td>수행시간 : ${executeTime}초</td>
        </tr>
        <tr>
            <c:forEach var="columnName" items="${columnName}">
                <th style="border: 1px solid;"><c:out value="${columnName}"/></th>
            </c:forEach>
        </tr>
    
        <c:forEach var="data" items="${listData}" varStatus="status">
            <c:if test="${status.first}">
                <tr>
            </c:if>
    
            <td style="border: 1px solid;"><c:out value="${data}"/></td>
    
            <c:if test="${status.count % columnCount == 0 && !status.last}">
                </tr>
                <tr>
            </c:if>
    
            <c:if test="${status.last}">
                </tr>
            </c:if>
        </c:forEach>
    </table>


    0
  • TheFIF
    640
    2019-08-30 16:12:03
    도움 주신분들 정말 너무나 감사드립니다!!
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.