작성이유
-자바서버 표준 태그 라이브러리, JavaServer Pages(jsp) Standard Tag Library
Java EE 기반 웹 어플리케이션 개발 플랫폼을 위한 컴포넌트의 모음이다.
태그명 | 설명 | 예 |
---|---|---|
<c:set> | 지정된 변수명에 값을 할당 | <c:set var="변수명" value="설정값" target="객체" property="값" scope="범위" /> var는 저장할 변수, target은 설정할 프로퍼티에 대한 객체, property 값을 설정한 객체의 프로퍼티, scope 유효범위 |
<c:out> | 값을 출력 | <c:out value="출력값" default="기본값" escapeXml="true or false" /> value가 null일 경우 default값 사용. escapeXml은 false가 기본이고, <,>등 특수기호의 출력 형태 설정시 사용 |
<c:if> | 조건식에 해당하는 블럭 사용될 scope 설정 | <c:if test="조건" var="변수명" scope="범위" /> scope는 var 속성에 지정한 변수의 범위 설정 |
<c:forEach | for문 | <c:forEach items="객체명" begin="시작인덱스" end="끝 인덱스" step="증감식" var="변수명" varStatus="상태변수" > varStatus : 반복의 상태를 갖게되는 변수. 예) <c:forEach var="i" begin="0" end="10"> , <c:forEach var="{board}" items="{board.title}"> |
<c:choose> | switch 문 | <c:choose> <c:when test="조건"> </c:when><c:otherwise></c:otherwise> </c:choose> |
<c:when> | switch 문의 case | |
<c:otherwise> | switch문의 defualt | |
<c:param> | 기본형 | <c:param name="파라미터명" value="파라미터 값" /> |
<c:url> | 쿼리 파라미터로 부터 url 생성 | <c:url var="생성한 url이 저장될 변수명" value="생성할 url" scope ="변수의 공유 범위" /> |
<c:import url="/exam1.jsp">
<c:param name="src1" value="www.naver.com">
<c:param name="src2" value="www.daum.net">
</c:import>
<%-- exam1.jsp 파일에서 <a:href="${param.sr1}"/> 로 사용가능.
servlet으로 데이터 넘기는 경우,
<c:import url="test.do">
Controller 단에서, @RequestMapping("test.do")
public ModelAndView test(@RequestParam String src1, @RequestParam String src2) throws Exception {
...
ModelAndView mv = new ModelAndView();
mv.addObject("src1", src1);
mv.addObject("src2", src2);
mv.setViewName("exam1.jsp");
return mv;
}
--%>
-Expression Language , jsp 2.0버젼에서 추가된 스크립트 언어.
객체명 | 설명 |
---|---|
${pageContext} | jsp page 기본 객체 |
${pageScope} | pageContext 기본객체에 저장된 <속성,값>매핑을 저장한 map 객체 |
${requestScope} | request객체에 저장된 속성의 <속성,값>매핑을 저장한 map객체 |
${sessionScope} | Session객체에 저장된 속성의 <속성,값>매핑을 저장한 map객체 |
${applicationScope} | application 객체에 저장된 속성의 <속성,값>매핑을 저장한 map객체 |
${param} | 요청 파라미터의 <parameter이름, 값> 매핑을 저장한 map 객체, 값의 타입은 String, request.getParameter(이름)과 결과가 동일하다. |
${paramValues} | 요청 파라미터의 <parameter이름, 값배열> 매핑을 저장한 map 객체, 값의 타입은 String[], request.getParameterValues(이름)과 결과가 동일하다. |
${header} | 요청 정보의 <헤더이름, 값> 매핑을 저장한 Map객체, request.getHeader("이름") 과 결과가 동일. |
${cookie} | <쿠키이름, Cookie> Map. request.getCookies()로 구한 쿠키배열로부터 매핑을 생성. |
${initParam} | jsp 초기 파라미터를 가져오기 위한 객체, <이름,값>으로 매핑. application.getInitParameter("이름") 과 결과가 동일 |
<%@ page contentType = "text/html; charset=utf-8" %>
<%
request.setAttribute("name", "홍길동");
%>
<html>
<head></head>
<body>
<%-- pageContext.getRequest().getRequestURI()-- %>
요청 uri : ${pageContext.request.requestURI} <br>
<%-- request.getAttribute("name")-- %>
request의 name 속성 : ${requestScope.name} <br>
<%-- request.getParameter("code") -- %>
code 파라미터 : ${param.code} <br>
</body>
</html>
jsp header에 라이브러리 사용하겠다는 추가 해줘야함.
<% @taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<% @taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
JAVA > JSTL > HTML > JAVASCRIPT
JS에서는 JSTL 사용 가능.
JSTL에서는 JAVASCRIPT 사용 불가.
var list = new Array();
<c:foreach items="${TestList}" var="item">
list.push("${item.name}");
</c:foreach>