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