본문 바로가기

카테고리 없음

Spring JSTL 태그 사용 시 NumberFormatException

D:\ddd\upload\2021\07\12 해당 폴더에 있는 썸네일 이미지

s_ 를 List 형식으로 출력하려고 하는데,

java.lang.NumberFormatException: For input string: "2021\07\12" 오류가 났습니다.

<c:set var="list" value="${town.attachList}"></c:set>

으로 TownVO 객체 town의 attachList 를 list로 명명하여

<c:set var="list" value="${town.attachList}"></c:set>

<c:forEach items="${list}" var="attach">

<c:set var="fileCallPath" value="${attach.ta_uploadPath + '/s_' + attach.ta_uuid + '_' +

attach.ta_fileName}" ></c:set>

<td><img src="display?fileName=${fileCallPath}"/></td>

</c:forEach>

로 list 를 attach로 명명하여 foreach 문으로 각 list의 fileCallPath를 가져와

img src="display?fileName 을 하는 것입니다.

이 과정에서 오류가 난 것인데,

Javascript 에서 해당 코드를 비슷하게 사용했 을 때는

${attach.ta_uploadPath + '/s_' + attach.ta_uuid + '_' + attach.ta_fileName} 를

encodeUricomponet 로 감싸주었지만

JSTL에서 이를 시행하지 않았기 때문에 오류가 났습니다.

<c:set var="list" value="${town.attachList}"></c:set>

<c:forEach items="${list}" var="attach">

<c:url var="furl" value="/display">

<c:param name="fileName"

value="${attach.ta_uploadPath}/s_${attach.ta_uuid}_${attach.ta_fileName}" />

</c:url>

<img src="${furl}" />

</c:forEach>

해당 코드로 수정하였더니 정상 작동이 되었습니다.

c:param 안에서는 + 를 사용하니까 NosuchFileException이 나오길래, 붙여줬더니 정상작동이 되었습니다.

https://offbyone.tistory.com/319

 

<c:url> 태그 사용법

태그는 URL에 자동으로 Context Path 를 붙여주는 일을 합니다. 컨텍스트를 변경하더라도 URL을 수정할 필요가 없게 되는 것입니다. 이 태그는 jstl core 태그에 포함되어 있으므로 을 사용하려면 다음 tablib 지..

offbyone.tistory.com