프로그래밍/JSP Servlet

JSP/Servlet - 익스프레션 언어 (애트리뷰트 및 param, paramValues)

가카리 2016. 1. 6. 22:18
반응형

1. 익스프레션 언어 애트리뷰트

 

jsp 서블릿에서 사용되는 네 가지의 애트리뷰트는 다음과 같습니다.

 

애트리뷰트의 종류

호출할 때 사용하는 내장 변수

메소드의 소속

page 애트리뷰트

pageContext 내장 변수

javax.servlet.jsp.JspContext클래스

request 애트리뷰트

request 내장 변수

javax.servlet.ServletRequest 인터페이스

session 애트리뷰트

session 내장 변수

javax.servlet.http.HttpSession 인터페이스

application 애트리뷰트

application 내장 변수

javax.servlet.ServletContext 인터페이스

 

 

익스프레션 언어는 보통 ${식}으로 쓰는데 식은 위의 애트리뷰트를 뜻합니다.

 

하지만 동일한 이름을 가진 애트리뷰트가 여러개면 다음과 같은 순서로 데이터를 가져오게 됩니다.

 

1. page 애트리뷰트 -> 2. request 애트리뷰트 -> 3. session 애트리뷰트 -> 4. application 애트리뷰트

 

하지만 자기가 특정 데이터영역의 애트리뷰트를 불러오고 싶다고 생각이 되면 다음과 같이 하면 됩니다.

 

${pageScope.값}     ${requestScope.값}      ${sessionScope.값}     ${applicationScope.값}

 

2. 익스프레션 언어의 내장 객체

 

내장 객체중 param은 form 엘리먼트를 통해 입력된 데이터를 가져올 때 사용합니다.

 

    ${param.값} 아니면 ${param["값"]

 

그리고 checkbox나 select 같은 서브 엘리먼트를 통해 데이터가 입력될 때는 다음과 같이 paramValues라는 내장 객체를 사용합니다.

 

    ${paramValues.값[0]} 아니면 ${paramValues["값"][1]}

 

param과 paramValues를 사용하는 예제를 만들어 봅시다.

 

 

위와 같이 2개의 파일로 구성됩니다.

 

PetsInput.html

 

<!DOCTYPE html>

<html>

<head>

<meta charset="EUC-KR">

<title>Insert title here</title>

</head>

<body>

    <form action=PetsResult.jsp>

        아이디 : <input type=text name=ID><BR><BR>

        애완동물을 선택하세요.<BR>

        <INPUT TYPE=CHECKBOX NAME=ANIMAL VALUE="">

        고양이<INPUT TYPE=CHECKBOX NAME=ANIMAL VALUE="고양이">

        금붕어<INPUT TYPE=CHECKBOX NAME=ANIMAL VALUE="금붕어">

        <BR><BR>

        <INPUT TYPE=RESET VALUE="취소">

        <INPUT TYPE=SUBMIT VALUE="확인">

    </form>

</body>

</html>

 

PetsResult.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>

    아이디 : ${param.ID }<BR>

    선택한 동물 : ${paramValues.ANIMAL[0]}

                  ${paramValues.ANIMAL[1]}

                  ${paramValues.ANIMAL[2]}

</body>

</html>

 

 

출력화면

첫화면에서 아이디를 넣고 애완동물을 선택합니다.

확인을 누르면 다음과 같이 입력한 값과 선택한 항목이 뜹니다.

반응형