System.out.println("Hello, World");

'2012/05/07'에 해당되는 글 3건

  1. 2012.05.07 EL(Expression Language) 표현식 언어
  2. 2012.05.07 JSP : include
  3. 2012.05.07 태그 (Tag) - 액션 태그

EL(Expression Language) 표현식 언어

-JSP 2.0에서 새로 추가된 스크립트 언어

- 기존의 expression tag의 업그레이드 버전

-주요기능

-리터럴 데이터 출력

-각종 연산자를 제공하여 연산결과 출력을 지원'

-4개 속성 scope(page, request, session, application)에 binding된 Attribute(객체)나 그 Attribute의 property 값 출력

-JSTL과 연동


-구문

- ${출력내용} - ${10}, ${"안녕"}, ${10+20}

- ${value1.value2[.value3 ..]}

특정 객체의 property 접근 할 때 사용

- ${value1[value2]}

컬렉션(list 계열)의 값을 출력할 때 주로 사용

- value1에는 EL 내장 객체나 attribute명이 들어온다.

- 구문을 실행 도중 null이 나오면 더 이상 진행하지 않고 출력도 하지 않는다.

- 예)

${requestScope.mto.id}

${cto.address.zipcode}

${sessionScope.lost[0]}

- JSP의 script(스크립트 릿, 표현식, 선언식, 지시자) 태그에는 사용 못한다.

- action 태그내에는 사용 가능

-<jsp:include page="${dir}/a.jsp"/>


-EL의 내장 객체(기본객체)

-EL은 11개의 내장객체를 제공하여 별다른 추가 코드 없이 특정 객체에 접근 하여 사용할 수 있도록 한다.

-JSP의 내장객체와는 다르다.

-EL 내장객체중 pageContext를 제외하고는 모두 name-value 형태의 값을 관리한다.

- ${}내에서만 사용가능하며 첫번재 값으로만 올 수 있다.

-Scope와 관련된 내장객체

-pageScope : page Scope에 접근

-requestScope : request Scope에 접근 

-sessionScope : session Scope에 접근

-applicationScope : application Scope에 접근


-요청 파라미터 관련 내장 객체

-param : 요청 파라미터 조회시 사용(하나의 이름으로 넘어온 경우)

-paraValues - 요청 파라미터 조회시 사용(하나의 이름으로 여러값이 넘어온 경우)


-Header값 관련

-header

-headerValues


-쿠키값 조회

-cookie : ${cookie.이름.value}


- 초기 파라미터 조회(context-param으로 설정된 것)

-initParam


-pageContext 객체 관련 내장 객체

-pageContext

Posted by 김마농

include 

-JSP 페이지 내에 다른 컴포넌트(JSP,HTML,Servlet)를 포함시키는 기술

- 주로 JSP나 HTML을 포함시킨다.

- include 지시자 태그를 이용, 표준 action 태그 이용

- 기타 : JSTL의 import 태그 이용, tiles 프레임 워크

-<%@ include %> 지시자 태그 이용

- copy and paste 방식

-jsp를 servlet으로 변환하기 전에 포함시킬 파일의 내용을 카피하여 붙인다.

-구문 : <%@include file="포함 시킬 파일명 "%>

-<jsp:include> 액션 태그 이용

- 요청 디스패치 방식

- 수행을 포함시킬 컴포넌트로 이동한 뒤 출력 내용을 포함시키는 방식

- 구문

<jsp:include page="url"/>

<jsp:include page="url">

<jsp:param name="name" value="value"/>

</jsp:include>



Posted by 김마농

● 액션 태그 (Action Tag)

- JSP 내에서 자바코드를 줄이기 위한 태그

- 액션 태그는 JSP내에서 Java 코드 없이 태그를 이용해 동적인 실행을 처리 하기 위해 제한됨

- 태드와 Java 코드를 연결하여 JSP가 Servlet으로 변환 시 Web Container가 그에 알맞은 동적인 실행을 처리


● 종류

- 표준 Action 태그 : JSP 스펙에서 제공하는 태그

- Custom tag : 사용자 정의 액션 태그

- 기본 구문 

- <prefix : 태그명 속성  = "속성값" [속성 = "속성값".. ]>

- prefix : 태그 library를 구분하기 위한 이름 (접두어)

- xml 문법을 따른다.

- 대소문자 구분    ※ HTML은 대소문자 구분 없다.

- 속성의 값은 ' 또는 " 으로 감싸준다.

- 태그는 반드시 닫아야 한다.

ex)

<c:forEach item="list" var="mto"> </c:forEach>

<jsp:getProperty name='cto' property='name'/>


● 표준 액션 태그

 - JSP 스펙에서 제공하는 액션태그

- 따로 library를 설정할 필요 없이 web container가 제공한다.

- 구문

<jsp:태그명 속성='값' ...>

- 주요 태그

- Attribute로 설정된 빈 객체와 연동하기 위한 태그

- useBean, setProperty (특정 빈에 값 셋팅), getProperty (

- 수행을 이동하기 위한 태그

- include, forword, param


※ <jsp:useBean>

- 속성 영역(page, request, session, application) 에 binding 된 속성 객체를 lookup 한다. 만약 가져오지 못하면 생성하여 그 영역에 binding 한다.

- 태그의 attribute(속성)

- id : 자바 식별자, binding시 설정 이름

- class : lookup 할 클래스의 이름. fully name으로 설정

- scope : 속성 영역, 값 : page(기본), request, session, application

ex )

<jsp:useBean id="mto" class="dto.MemberDTO" scope="request"/>

→ 의미

- MemberDTO mto = (MemberDTO)request.getAttribute("mto");

if(mto==null){

mto = new MemberDTO();

request.setAttribute("mto", mto);

}


※ <jsp:setProperty>

- <jsp:useBean> 태그로 lookup 한 객체 (Attribute)의 property에 값을 설정하는 태그

- Lookup 한 Attribute의 setter메소드를 호출하여 값을 설정 한다.

- 명시적인 값을 설정

- 요청 파라미터로 넘어온 값을 설정

- 속성

- name : 값을 설정할 bean의 이름. useBean의 id 값

- property : 값을 설정할 property 명. (setter메소드에서 set을 제외한 이름)

- value : 설정할 값

- param : 요청파라미터의 값을 설정할 경우, 요청 파라미터의 이름

  - 요청 파라미터로 넘어온 값을 설정할 경우 property의 이름과 요청 파라미터의 이름이 동일한 경우 param을 생략 할 수 있다.

  - ex)

<jsp:setProperty name = "mto" property="id" value = "myid" />

 → 의미 : mto.setId("myid");

--------------------------------------------------------------------------------

<jsp:setProperty name="mto" property = "name" param="p_name" />

 → 의미 : mto.setName(request.getParameter("p_name"));



※ <jsp:getProperty> 태그

- <jsp:useBean> 태그로 lookup한 객체의 property 값을 조회하여 출력하는 태그

- bean 객체의 getter 메소드를 호출한다. (getXXX 또는 isXXX)

- 속성

- name : 프라퍼티를 조회할 객체의 이름. useBean의 id값

- property : 조회할 프라퍼티의 이름 (getter 메소드의 이름)

- ex) <jsp:getProperty name = "mto" property="age" />

→ 의미

 <%= mto.getAge() %>



※ <jsp:forword>

- JSP의 수행을 다른 컴포넌트로 (JSP, Servlet, HTML) 로 이동하는 태그

- RequestDispacher객체.forword() 실행을 태그화 하는 것.

- 요청 Dispatch 방식으로 이동

- 속성

- page : 수행을 이동항 컴포넌트의 url 설정

- ex)<jsp:forword page="abc.jsp/>

→ 의미

  RequestDispatcher rdp = request.getRequestDispatcher("abc.jsp");

  rdp.forword(request, response);

Posted by 김마농