Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- oracle
- 배열
- Eclips
- paint
- 에러페이지
- struts2
- 기본
- 국제화
- 어노테이션
- OGNL
- 메소드
- Graphic
- 이클립스
- Menu
- mybatis
- layout
- 메서드
- 예외처리
- JSP
- Spring
- 클래스
- Java
- HTML
- 전화걸기
- 생성자
- AWT
- JavaScript
- 안드로이드
- Android
- 오버로딩
Archives
- Today
- Total
note
EL , JSTL 코어태그 (c:forEach)(c:choose) 본문
코어태그 라이브러리
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kame.chap16.Member" %>
<%@ page import="java.util.HashMap" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
Member member = new Member();
HashMappref = new HashMap();
%>
set 태그
회원 이름 : ${member.name},
좋아하는 색 : ${favoriateColor}
설정 이후 좋아하는 색 : ${favoriateColor}
5번 라인
해당 클래스가 식별자를 통해 불려지도록함
<c:set />
${속성명} -> getAttribute(속성명)
<c:remove/> -> removeAttribute(속성명)
<c:remove/> -> removeAttribute(속성명)
<c:if>태그
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<span class="hljs-keyword">if</span> 태그
무조건 수행
name 파라미터의 값이${param.name}입니다.
당신의 나이는 18세 이상입니다.
<%-- 다중 조건 체크는 못함(else) --%>
<c:choose>
한번의 문장 만 실행하고 빠져나가기 때문에 착각에 빠지기 쉽다
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
choose 태그
- 당신의 이름은 ${param.name}입니다.
- 당신은 20세 이상입니다.
- 당신은 'bk'가 아니고 20세 이상이 아닙니다.
<c:forEach>
VarStatus 속성
index : 루프 실행에서 현재 인덱스
count : 루프 실행 횟수
begin : begin 속성값
end : end속성값
step : step 속성값
first : 현재 실행이 첫 번째 실행인 경우 true
last : 현재 실행이 루프의 마지막 실행인 경우 true
current : 컬렉션 중 현재 루프에서 사용할 객체
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.HashMap" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
forEach 태그
<%-- 대입 연산자가 없기 떄문에 sum에 계속 덮어씌워서 마지막 값이 출력됨 --%>
1부터 100까지 홀수의 합
결과 = ${sum}
구구단 : 4단
- 4 * ${i} = ${4 * i}
<%-- varStatus :루프 상태를 저장할 EL 변수 이름 --%>
int형 배열
${status.index}-${status.count}-[${i}]
Map
<%
HashMap mapData = new HashMap();
mapData.put("name","최범균");
mapData.put("today",new java.util.Date());
%>
${i.key} = ${i.value}
HashMap
<%
HashMap map = new HashMap();
%>
스크립트 릿 안에 있는 객체는 EL과 JSTL에서 사용할 수 없다
그래서 page,request,session,application 에 넣어야된다
<c:set var="map" value="<%=map%>" />
<c:forTokens>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
forTokens 태그
콤마와 점을 구분자로 사용:
${token }
<c:out>
실행시 오류남 path를 걸어줘야 됨
같은 경로에 있는 파일 이름을 입력
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.IOException,java.io.FileReader" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
FileReader reader = null;
try{
String path=request.getParameter("path");
reader = new FileReader(getServletContext().getRealPath(path));
%>
소스 코드 = <%=path%>
<%}catch(IOException ex){ %>
에러 : <%=ex.getMessage() %>
<%
}finally{
if(reader!=null)
try{
reader.close();
}catch(IOException ex){}
}
%>
<c:catch>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
catch 태그
name 파라미터의 값 = <%=request.getParameter("name") %>
<%if(request.getParameter("name").equals("test")){ %>
${param.name}은 test 입니다.
<%} %>
예외가 발생하였습니다:
${ex}