반응형

* JSTL 이란

jsp 표준 태그 라이브러리.

연산이나 조건문이나 반복문인 if문, for문, DB를 편하게 처리할 수 있게 하는 태그 라이브러리.

내가 사용해본 라이브러리는 크게 세가지가 있음. core,function,formatting.

 

1. JSTL core 라이브러리

JSP의 헤더에 추가한다.

<% @taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

 

태그명 설명 예시 비고
<c:set> 변수를 세팅하여 값을 할당하거나
javaBean의 값을 변경할수 있음
<c:set var="myData" value="쩝" />

<c:set target="${myList}" property="content" value="어쩌구 저쩌구" />
 
<c:out> 값을 출력함 <c:out value="${myList.content}" />

<c:out value="<script type='text/javascript'>alert(123);</script>" escapeXml="true"/>
c:out에는 escapeXml 속성이 있으며 기본값이 true로, 문자를 텍스트로 그대로 내보낸다. false로 설정하는 경우 특문 escape가 안 되어 보안에 취약할 수 있음
<c:if> if문 <c:if test="${name eq '포도'}" >
 ${name}은 보라색
</c:if>
 
<c:choose>
<c:when>
<c:otherwise>
switch문과 같은 기능으로 여러 조건 중 하나를 선택 <c:choose>
   <c:when test="${number eq '1'}"> 
   </c:when>
   <c:when test="${number eq '2'}">
   </c:when>
   <c:otherwise>
   </c:otherwise>
</c:choose>
 
<c:foreach> 반복문 <c:forEach var="board" items="${boardList}">
    <c:out value="${board.title}" />
</c:forEach>
 

 


2. JSTL formatting 라이브러리

JSP의 헤더에 추가한다.

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

 

 

태그명 설명 예시
parseDate 문자열을 Date 타입으로 변경 <fmt:parseDate var="today" value="20230717" pattern="yyyyMMdd" />
formatDate  Date 타입을 문자열로 변경 <fmt:formatDate var="now_date" value="${now_date}" pattern="yyyyMMdd"/>

 


3. JSTL function 라이브러리

JSP의 헤더에 추가한다.

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

 

태그명 설명 예시
fn:length 문자열 길이 <c:when test="${fn:length(myArray) > 0}">
fn:contains 문자열 포함여부판단 <c:if test="${fn:contains(arrayList, 'AA')}">

 

반응형

'코딩 관련 > JSP 관련' 카테고리의 다른 글

[JSP] EL 안에 EL 넣기  (0) 2020.09.24
[JSP] JSP 주석 관련 <!-- 와 <%--  (0) 2020.09.17
반응형

${board.boardType} 이라는 EL을

${codeMap.name}이라는 EL의 name자리에 넣고 싶었다.

 

 

결론 : name 자리에 대괄호를 이용하여 el을 넣으면 된다. 

${codeMap[board.boardType]}

안에 들어가는 EL은 바깥에 ${}가 있으므로 필요없다고 한다. ^^ 

 

마찬가지로 JSON데이터 호출 시 

data : {

"list":[{"boardType":"a04"},{"boardType":"a02"},{"boardType":"a03"}]
"codeMap":{"a02":"Q&A","a01":"일반","a04":"자유","a03":"익명"}

}

data.list[0].boardType 는  a04 

data.codeMap.a04 는 "자유" 인데,

data.list[0].boardType

data.codeMap.a04 의 "a04"자리에 넣고싶은 경우 

data.codeMap[data.list[i].boardType]

대괄호로 감싸면 됨. 

 

 

반응형
반응형

주석처리를 했는데도 웹 페이지에 에러가 뜨는거임...

 

왜 자꾸 코드를 읽지.. 했는데

<%--로 바꾸면 소스보기에도 안 나오므로 해결 ^^~

반응형

'코딩 관련 > JSP 관련' 카테고리의 다른 글

[JSTL] JSTL 용법 / JSTL core / JSTL fmt / jstl function  (0) 2023.07.18
[JSP] EL 안에 EL 넣기  (0) 2020.09.24

+ Recent posts