본문 바로가기

HTML CSS

[JSP] <c:set var=""> 태그 안에 <c:url value=""> 태그 넣기 org.apache.jasper.JasperException: ~~~~ Unterminated &lt;c:set tag

- <c:set var=""> 태그 안에 <c:url value=""> 태그 넣기  -


<c:url value=""> 태그는 뒤에 value 값을 붙여서 자동으로 url path 를 만들어 준다.
이렇게 만든 url 결과값을 변수에 저장하고 싶었다.
변수에 저장하는 기능은 <c:set var=""> 태그를 이용하면 된다.
<c:set var="a" value="b"> 라고 하면 'b'라는 값을 'a' 라는 이름의 변수에 저장한다는 뜻이다.
이 둘을 활용해서 url 값을 변수에 저장하려고 했다.

 

 

-  잘못된 코드 X - 

<c:set var="tempThumbUrl" value="<c:url value="/downloadFile?fileSeq=${seq}" />" />


그런데 위와 같은 코드는 에러를 발생시켰다.

org.apache.catalina.core.StandardWrapperValve invoke
Servlet.service() for servlet [~~~~] in context with path [~~~] threw exception [~~~~ Unterminated &lt;c:set tag] with root cause
org.apache.jasper.JasperException: ~~~~ Unterminated &lt;c:set tag


 

- 잘 된 코드 O-

이럴 때는 <c:url value=""> 태그에 다른 속성 값을 하나 더 넣어주면 된다.
바로 "var" 속성이다.
<c:url value="a" var="b"> 
이렇게 하면 "a"를 이용해서 url을 만들고, 그 결과가 되는 url 값을 "b"라는 변수에 넣어준다.
즉, <c:url> 기능도 하면서 <c:set> 기능을 한 번에 수행하는 것이다.

<c:url var="tempThumbUrl" value="/downloadFile?fileSeq=${seq}" />

 



-220905

반응형