이아퀸타
190
2021-04-13 16:40:49 작성 2021-04-13 17:19:40 수정됨
2
110

jsp 페이지에서 jstl로 리스트 받고 다시 그걸 javascript의 함수의 인자로 넘겨주는 방법 질문이요


참고로 jsp에서 받은 lst에는

[{id=5, name=강아지, filepath=, filesize=},

{id=6, name=고양이, filepath=, filesize=},

{id=8, name=돼지, filepath=, filesize=}] 이런식으로 들어있다고 하면


아래에서 <td onclick="filedown(${hang})"></td> 에서 데이터를 보낼 때

첫번쨰 행을 웹디버깅 찍어봤더니

${hang}에 {id=5, name=강아지, filepath=, filesize=} 이런식으로 값이 있는데

Uncaught SyntaxError: Unexpected number 에러 가 발생합니다.

이런 jstl문법으로 list를 보내 줄수있는거 아닌가요? 어떤문제 때문에 오류가 발생하는걸까요?

아래는 jsp에 있는 코드입니다
+ 수정 생각해보니까 이거 ${hang} 자체는 list가 아니라 map 같네요

근데 에러나는건 똑같습니다.

<c:when test="${fn:length(lst) > 0}"> // lst에 여러개의 List<Map> 있음
<c:forEach items="${lst}" var="hang">
  <tr>
    <td onclick="Filedown(${hang})"></td> // ${hang} 에 List<Map> 값이 들어있다.
    <!--블라 블라~-->
  </tr>
<c:forEach>

// 그러면 아래 script에 list를 받아보려고 합니다.
<script>

function Fildown(list){
  alert(list);
}

</script>
0
  • 답변 2

  • 이아퀸타
    190
    2021-04-13 17:53:04

    해결했습니다.

    <td onclick="Filedown('${hang}')"></td>

    이렇게 쌍따옴표 붙이니 넘어가네요

  • 장독깨기
    1k
    2021-04-13 17:57:18
    ${hang.id}
  • 로그인을 하시면 답변을 등록할 수 있습니다.