본문 바로가기
Development

05. jstl 기본

by doozzuri 2021. 1. 18.
반응형

1. c:if 활용

(1) 빈값이 아닐때

<c:if test="${not empty result}"></c:if>

(1) 빈값일때

<c:if test="${empty result}"></c:if>

(3) 같은 값을 가질때

<c:if test="${'1' eq result}"></c:if>
<c:if test="${result == 'F'}"></c:if>

(4) 다른 값을 가질때

<c:if test="${'1' ne result}"></c:if>

 

2. c:forEach 활용

(1) radio

<c:forEach var="code" items="${testcd001}" >
    <input type="radio"  value="<c:out value="${code.code}"/>" name="divCd">
    <span>
        <c:out value="${code.name}"/>
    </span>
</c:forEach>

 

(2) select box - begin/end

<select name="month" id="month" title="">
    <c:forEach var="m" begin="1" end="12">
        <option value="${m < 10 ? '0' : ''}${m}">
            <c:out value="${m < 10 ? '0' : ''}${m}" />
        </option>
    </c:forEach>
</select>

 

 

3. c:forEach - c:if 활용

<c:forEach items="${list}" var="result" varStatus="stat">
    <c:if test = "${stat.first}">
        <c:out value="${result.data1}"/>
    </c:if>
    <c:if test = "${stat.index eq 1}">
        <c:out value="${result.data1}"/>
    </c:if>
</c:forEach>

 

 

4. 사용자 function 만들기

(1) cfn.tld 만들기

<?xml version="1.0" encoding="UTF-8"?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
  version="2.0">

	<description>JSTL 1.1 functions library</description>
	<display-name>JSTL functions</display-name>
	<tlib-version>1.1</tlib-version>
	<short-name>cfn</short-name>

	<function>
		<description>today return</description>
		<name>getToday</name>
		<function-class>test.sample.util.SampleUtil</function-class>
		<function-signature>java.lang.String getToday()</function-signature>
	</function>
</taglib>
package test.sample.util;

public class SampleUtil extends EgovStringUtil{
    // 오늘 날짜 반환
    public static String getToday() {
        return getToday("yyyy-MM-dd");
    }
}

 

2) jsp 파일 상단에 선언

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

 

(3) 사용

<select name="year" id="year" title="">
    <c:set var="toDay" value="${cfn:getToday()}"/>
    
    <c:forEach var="yy" begin="1960" end="${fn:substring(toDay, 0, 4)}">
        <option value="${yy}"><c:out value="${yy}" /></option>
    </c:forEach>
</select>

 

 

 

 

 

반응형