반응형
NOOWGNAJ
Run To IT
NOOWGNAJ
전체 방문자
오늘
어제
  • 분류 전체보기 (163)
    • Flutter (3)
    • Back (77)
      • JAVA (13)
      • JAVA 응용문제 (8)
      • JSP (16)
      • Spring (5)
      • Python (26)
      • nexacro (3)
      • jstl (6)
    • Database (8)
      • MySQL (6)
      • MSSQL (2)
    • Front (44)
      • HTML (34)
      • CSS (0)
      • JavaScript (5)
      • Vue.js (5)
    • 코딩테스트 (4)
      • SQL (3)
      • JS (1)
    • MUSIC (1)
      • 장운박스 (1)
    • 임시 메모장 (21)
      • 메모장1 (21)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바스크립트정규식
  • 이메일정규식
  • regex
  • 정규식
  • 핸드폰번호정규식
  • 정규식모음
  • 주민번호정규식
  • 자바스크립트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
NOOWGNAJ

Run To IT

Back/jstl

jstl 기본

2023. 3. 16. 16:46
반응형

1. JSTL Taglib를 사용하기 위한 JSP 페이지 상단에 추가한다.

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


2. forEach문에서 index 및 count 값 참조하기

<c:forEach var="car" items="${carList}" varStatus="status">
   ...
   <c:out value="${status.index}"/> <!-- 0부터 시작 -->
   <c:out value="${status.count}"/> <!-- 1부터 시작 -->
   ...
</c:forEach>


3. Collection(Array)이나 String의 길이 구하기

<!-- String -->
<c:set var="str" value="a-b-c-d-e-f-g"/>
<c:out value="${fn:length(str)}"/>
 
<!-- Collection -->
<c:set var="strList" value="${fn:split(str, '-')}"/>
<c:out value="${fn:length(strList)}"/>


4. 숫자에 콤마(,) 붙이기

<c:set var="amount" value="123456"/>
<fmt:formatNumber value="${amount}" pattern="#,###"/>
 
<c:set var="amount" value="123456.12"/>
<fmt:formatNumber value="${amount}" pattern="#,###.##"/>

<!-- 콤마로 분리된 숫자를 특정 변수에 값 저장 -->
<fmt:formatNumber value="${cost.costAmount}" pattern="#,###" var="costAmount"/>

<!-- 숫자앞에 0로 붙이기 -->
<fmt:formatNumber pattern="000" value="${day}"/>


5. 날짜 포맷 지정하기

<c:set var="birthDate" value="19850620"/>
 
<fmt:parseDate var="birthDate" value="${birthDate}" pattern="yyyyMMdd"/>
 
<fmt:formatDate var="birthDate"  pattern="yyyy-MM-dd" value="${birthDate}"/>
<c:out value="${birthDate}"/>
 
<fmt:formatDate var="birthDate1"  pattern="yyyy년 MM월 dd일" value="${birthDate}"/>
<c:out value="${birthDate1}"/>

<!--요일 표시. 월--> 
<c:set var="now" value="<%=new java.util.Date()%>"/>
<fmt:formatDate pattern="E" value="${now}"/>


6. 이항연산자 사용하기

<c:set var="selNo" value="2"/>
<select name="..." id="...">
   <option value="1" <c:out value="${selNo == 1 ? 'selected' : ''}"/>>하나</option>
   <option value="2" <c:out value="${selNo == 2 ? 'selected' : ''}"/>>둘</option>
   <option value="3" <c:out value="${selNo == 3 ? 'selected' : ''}"/>>셋</option>
</select>


7. 특정 문자로 문자열 분리/대체/추출하기

<c:set var="cars" value="car1,car2,car3,car4,car5"/>
<c:set var="carList" value="${fn:split(cars, ',')}"/>
<c:forEach var="car" items="${carList}">
   <c:out value="${car}"/>
</c:forEach>

<!--문자열 대체--> 
<c:set var="string1" value="${fn:replace('aabbccdd', 'cc', 'CC')}"/>

<!--문자열 추출-->
<c:set var="string1" value="${fn:substring('abcdefg', 0, 4)}"/>
 

8. 개행문자를 HTML의 <BR> 태그로 변환하기

<% pageContext.setAttribute("newLine", "\r\n"); %>
 
<c:set var="bigo" value="개행문자가 포함되는 텍스트"/>
${fn:replace(bigo, newLine, '<br/>')}


9. <c:out value=""/>시 HTML 태그 적용해서 출력하기

   escapeXml="false"를 삭제하면 HTMl 태그가 적용되지 않는다.

   즉, &lt;table&gt;&lt;tr&gt; 처럼 <, >의 태그가 적용되지 않게 된다.

<c:set var="htmlCode" value="<table><tr><td>테이블입니다.</td></tr></table>"/>
 
<c:out value="${htmlCode}" escapeXml="false"/>
${htmlCode}


10. Collection이나 문자열이 Null인지 판단하기

<c:if test="${!empty message and fn:length(message) > 0}">
    <script type="text/javascript">alert("${message}");</script>
</c:if>


11. 스트링 연결하기

<c:set var="str" value="${'[\''.concat(data.name).concat('\', \'').concat(data.no).concat('\']')}"/>


12. 콤마(특정 문자)로 분리된 문자열에서 각 항목 사용하기

<c:set var="myVal" value="aaa,bbb,ccc,ddd,eee"/>
<c:forTokens var="myInfo" items="${myVal}" delims="," varStatus="myInfoStatus">
   ${myInfo}
</c:forTokens>


13. 순차적 루프(Loop)

<c:forEach var="i" begin="1" end="10" step="1" varStatus="iStatus">
   ${i}
</c:forEach>

반응형
저작자표시 (새창열림)

'Back > jstl' 카테고리의 다른 글

jstl fmt  (0) 2023.01.13
jstl el  (0) 2023.01.13
jstl core  (0) 2023.01.13
jstl functions  (0) 2023.01.13
jstl  (0) 2023.01.13
    'Back/jstl' 카테고리의 다른 글
    • jstl fmt
    • jstl el
    • jstl core
    • jstl functions
    NOOWGNAJ
    NOOWGNAJ
    Innovation. Development. Evolution. Passion. Smart. Teamwork.

    티스토리툴바