-
[이론 + 코드] 1/17 월 Spring Framework - JSTL + ELSpring 2022. 1. 18. 22:36
JSP : View(프리젠테이션 로직)
+ 스크립트적인 요소 (프로그래밍적인 요소) + HTML tag
1. 지시자 : <%@page %>, <%@include %>, <%taglib %>
2. 선언문 : <%! 메서드 %>
3. 스크립틀릿 : <% 자바소스코드 %>
4. 출력식 : <%= 변수%>, <%= 메서드 호출문%>
5. 주석문 : <%-- JSP주석 --%>
=> 디자이너를 고려해서 코딩을 하자
스크립트적인 요소를 tag적인 요소로 바꿔서 사용하자
JSTL( Javaserverpage Standard Tag Library ) : 스크립트적인 요소를 tag적인 요소로 바꿔서 사용하자
c:if / c:forEach / c:choose
EL ( Express Language, 표현식, 출력식 ) : ${ 식 }
식 1. var(변수) 2. 연산자(산술, 관계, 논리) 3. 속성이름
JSTL + EL
기본 설정 : <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
1. For문
<% for(int i = 1; i<=5 ; i++){ if(i%2==0){%> <font size="<%=i%>">야호~</font><br> <%} } %> -------Tag-------------------------------------------------------------- <c:forEach var="i" begin="1" end="5" step="1" > <c:if test="${i%2==0}"> <font size="${i}">야호~</font><br> </c:if> </c:forEach>
2. if문 / Switch문
<c:if test="${a%2==0 }"> 짝수입니다. </c:if> <c:if test="${a%2!=0 }"> 홀수입니다. </c:if> <c:choose> <c:when test="${a%2==0 }"> 짝수입니다. </c:when> <c:when test="${a%2!=0 }"> 홀수입니다. </c:when> <c:otherwise> <!-- default --> ^^ </c:otherwise> </c:choose>
3. For문 - 배열 뽑기
<% String[] str = {"사과", "바나나", "오렌지", "포도", "귤"}; request.setAttribute("str", str); %> -------------------------------------------------------------------------------------- <c:forEach var="f" items="${str }"> <!-- ${str} => request.getAttribut("str") --> <tr> <td>${f }</td> </tr> </c:forEach>
items : 여러개를 받을 수 있는 속성
4. For문 - ArrayList 뽑기
<% List<Board> list = new ArrayList<Board>(); Board vo = new Board(); vo.setIdx(1); vo.setTitle("Test"); vo.setWriter("관리자"); vo.setIndate("2022-01-17"); vo.setCount(0); list.add(vo); list.add(vo); list.add(vo); request.setAttribute("list", list); %> -------------------------------------------------------------------------------------------- <c:forEach var="vo" items="${requestScope.list }"> <tr> <td>${vo.idx }</td> <td>${vo.title }</td> <td>${vo.writer }</td> <td>${vo.indate }</td> <td>${vo.count }</td> </tr> </c:forEach>
requestScope.list : request에 있는 list
sessionScope.list : session에 있는 list
* fn
JSTL에서 함수를 써야할때
함수 태그라이브러리 설정 - functions 안에는 String이 제공하는 Method들이 존재
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 1. <td>${fn:replace(vo.content, newLine ,"<br>")}</td> 2. <td>${fn:split(vo.indate," ")[0] }</td>
+ \는 EL기호안에서 적용이 안된다. 그래서 아래와 같은 방법을 이용한다.
* pageContext 현재페이지에서만 사용할려고 쓰는 함수
<% pageContext.setAttribute("newLine", "\n"); %>
'Spring' 카테고리의 다른 글
[이론] 1/19 수 Spring Framework (0) 2022.01.19 [이론 + 코드] 1/18 화 Spring Framework - Ajax (0) 2022.01.18 [이론] 금 1/14 Spring Framework (0) 2022.01.15 [이론] 1/13 목 Spring Framework (0) 2022.01.14 [코드] 1/12 수 Spring Framework < root-context.xml > (0) 2022.01.12