JSP/Servlet – JSTL <c:set> 커스텀 액션 사용하기
JSTL에 대한 전반적인 설명은 JSTL의 이해 및 실습 에 나와있습니다.
JSTL 설치 방법은 다음 링크에 있습니다.
<c:set>은 변수를 선언하고나서 그 변수에 초기값을 대입하는 커스텀 액션입니다.
자바에서 int num = 1; 의 역할을 하게됩니다.
<c:set var="num" value="1">
이렇게 선언한 변수는 익스프레션 언어(${변수명})에서는 사용할 수 있습니다.
<c:set var="num" value="1"/>
${num}
하지만 익스프레션(<%=변수명%>)에서는 사용할 수 없습니다.(page 데이터영역만 가능함)
<c:set var="num" value="1"/>
<%= num %>//불가능
JSTL를 사용하기 위해서 WEB-INF/lib 폴더에 반드시 JSTL 라이브러리 파일을 첨부해야합니다.
그리고 예제 소스를 Multiply.jsp에 작성합니다.
Multiply.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="num1" value="3"/>
<c:set var="num2" value="2"/>
<c:set var="result" value="${num1*num2}"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
${num1 }과 ${num2 }의 곱은? ${result }
</body>
</html>
실행 화면
JSTL를 사용한 첫 예제입니다. 곱한 값이 잘나오네요.
다음은 page 데이터 영역말고 request, session, application 데이터 영역에 애트리뷰트를 저장하는 법을 알아봅시다.
데이터 영역 내용은 JSP/Servlet- 익스프레션 언어(애트리뷰트 및 param, paramValues)를 참고하세요.
같은 프로젝트에서 위의 2개 파일을 추가해 봅시다.
ProductInfo.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="CODE" value="1234" scope="request"/><!-- scope애트리뷰트로 데이터 범위를 지정할 수 있씁니다. -->
<c:set var="NAME" value="컴퓨터" scope="request"/>
<c:set var="PRICE" value="100만원" scope="request"/>
<jsp:forward page="ProductInfoView.jsp"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
ProductInfoView.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
상품코드 : ${CODE }<BR>
상품이름: ${NAME }<BR>
가격 : ${PRICE }원<BR>
</body>
</html>
실행 화면
데이터 범위 지정을 해서 다른 jsp 파일을 호출해도 값이 제대로 출력되네요.
'프로그래밍 > JSP Servlet' 카테고리의 다른 글
JSP/Servlet – JSTL <c:forTokens> 커스텀 액션 사용하기 (0) | 2016.01.30 |
---|---|
JSP/Servlet – JSTL <c:forEach> 커스텀 액션 사용하기 (0) | 2016.01.25 |
JSP/Servlet – JSTL <c:choose> 커스텀 액션 사용하기 (0) | 2016.01.25 |
JSP/Servlet - JSTL <c:if> 커스텀 액션 사용하기 (0) | 2016.01.24 |
JSP/Servlet – 스크립팅 요소를 대신하는 표준액션들 (0) | 2016.01.19 |
JSP/Servlet – 자바빈의 다형성 활용하기 (0) | 2016.01.18 |
JSP/Servlet – 웹브라우저로 입력된 값을 자바빈 프로퍼티로 설정하기 두번째 (0) | 2016.01.18 |
JSP/Servlet – 웹브라우저로부터 입력된 값을 자바빈 프로퍼티로 설정하기 (0) | 2016.01.17 |