Mambo
6k
2016-12-25 22:51:21
3
939

JSTL와 관련된 질문..


테이블 필드에

[{"tag":"태그테스트"},{"tag":"잘되자"}]

이런식으로 들어가는데 String으로 가져옵니다.

{"tag":"태그테스트"} 이부분을 뽑아서 태그테스트만을 출력하려고 하는데 c:forEach하니까

[{"tag":"태그테스트"}와 {"tag":"잘되자"}] 이런식으로 찍힙니다.

힌트좀 주시면 감사하겠습니다. 

자바스크립트 처럼 parseJSON이란게 있나요?

0
  • 답변 3

  • 212
    2016-12-25 23:35:59

    c:forEach의 문법에선 items와 var라는 속성이 있지 않습니까? items에는 [{"tag":"태그테스트"},{"tag":"잘되자"}]를 넣어준 변수를 넣고 var에는 c:forEach 영역에서 쓰일 지역변수명입니다. 

    var를 variable이라고 하였다면 ${variable.tag}라고 넣으면 되는 것으로 알고 있는데요..... 지금 하시고 싶으신 상황이라면 c:forEach의 varStatus라는 속성을 알아보시기 바랍니다. varStatus.count()는 c:forEach영역 내에서 c:forEach가 몇번째 loop를 도는지 알려줍니다.

    varStatus.count()과 c:if등을 이용해보시는 걸 추천드립니다.

  • Mambo
    6k
    2016-12-25 23:52:55

    List가 아니라 String으로 인식해서 ${variable.tag} 에 해당하는 부분을 가져오지 못합니다.

    tag라는 프로퍼티를 찾을 수 없다고 나옵니다.

    일단은 데이터를 AJAX로 받아와서 자바스크립트 내에서 반복해서 출력해야할 것 같습니다.

  • lessmore
    6
    2016-12-26 10:12:50

    저도 비슷한 문제에 부디쳐봤었는데요 ... scope="request" 추가해 주시면 될듯합니다 .


    scope = application -> session -> request -> page

    jsp = page -> request -> session -> application

  • 로그인을 하시면 답변을 등록할 수 있습니다.