백엔드 언어2017. 3. 24. 20:04


1. <C:set>

자바의 int num = 100; 을 <c:set var="num" value="100">으로 바꿔 쓴 코드입니다. 어렵지 않죠?? 

2. <c:out>

역시 자바의 system.out.println(" 안녕하세요 ");을 간단하게 <c:out value=" 안녕하세요 ">로 변경 되었습니다. 또한 제 생각에는 장점이라고 생각하는데, 이 태그는 특수문자를 그대로 출력합니다.

3. <c:remove>

한 영역의 변수명을 지우는 코드입니다. 만약에 영역을 생략할 경우 모든 영역의 변수가 삭제됩니다. 

영역에는 아까 Attribute에서 정리했다 시피 (page → request → session → application) 순서의 영역을 가집니다.

4. <c:if>

자바의 if - else 문과 동일하지만 JSTL에서는 else문이 없습니다. 여기서 scope값을 생략하면 기본으로 page영역이 지정됩니다.

5. <c:choose> / <c:when> / <c:otherwise>

자바의 switch 구문과 if-else 구문을 혼합한 형태로 다수의 조건문을 걸고 싶을때 사용합니다.

<c:choose>

    <c:when test="${empty list }">

        등록된 글이 없습니다.    

    </c:when>

    <c:when test="${abc}">

        안녕하세요    

    </c:when>

    <c:otherwise>

        <c:set var="doneLoop" value="false" />

    </c:otherwise>

</c:choose>


이렇게 <c:choose> 태그안에 <c:when>이 중복되어 사용이 가능하며 boolean값이 True일 경우 블록을 수행합니다. <c:otherwise>는 <c:when>의 결과 값이 모두 False 일 경우 실행이 됩니다. 그래서 필요한 경우에만 사용됩니다.

 

6. <c:forEach>

자바에서는 for문으로 불리던게 JSTL에서는 forEach로 변경되었습니다. 배열이나 컬렉션, Map에 저장되어 있는 값들을 순서대로 처리 할때 사용되며, <c:forEach var=" i " begin=" 1 " end=" 10 " step=" 1 "> ${ i } </c:forEach>로 i가 1부터 10까지 1씩 증가한다는 구문을 쉽게 만들 수 있습니다.

7. <c:forTokens>

자바의 StringTokenizer 를 JSTL를 사용하면 아주 간편하게 사용할 수 있습니다. 

<c:forTokens var="abc" items="안녕/하세요/hunit블로그/입니다" delims="/" >이렇게 코드를 작성할 수 있겠죠.

8. <c:catch>

try{

     자바에서는 여기에 행동    

    } catch (Exception err){

            에러내용 표시 

     }

 

 

 <c:catch var= "abc ">

      JSTL에서는 여기에 행동 

 </c:catch>

 태그 밖에 ${abc}를 사용하여 에러내용



자바의 Try-catch 구문과 같죠. 단 <c:catch>태그는 에러내용을 ${abc}로 빼내서 처리해줘야 합니다.


추가로 <c:redirect>와 <c:import> , <c:url> 태그가 있지만 글이 길어진 관계로 짤막하게 정리하고 끝내도록 하겠습니다. 별로 설명할게 없다는 것도 하나의 이유지만요.

9. <c:redirect>는 아래와 같이 파라미터 값을 지정된 url로 보냅니다.

<c:redirect url="baordList.jsp">

<c:param name="abc" value="안녕하세요" />

</c:redirect>

 

10. <c:import>는 <jsp:include>와 비슷합니다.

11. <c: url>은 <c:set>과 비슷하며 GET방식으로 파라미터를 전달합니다.



출처 : http://hunit.tistory.com/203

'백엔드 언어' 카테고리의 다른 글

자바 웹 개발자의 학습 로드맵  (0) 2017.06.18
템플릿 언더바 기본 (Template Underscore)  (0) 2017.03.24
Json-Simple 추가 및 사용법  (0) 2017.03.24
쓰레드  (0) 2017.03.24
커넥션 풀  (0) 2017.03.24
Posted by EL2A