본문 바로가기
JSP

JSP 표현 언어와 JSTL core 태그

by 코딩하는아재냥 2022. 7. 15.

표현식      -        <%= %>

표현 언어 -           $ { }  // JSTL >> jsp 가 제공하는 태그

<%=add %>  // add는 변수를 의미한다.
${add}         // 객체의 속성을 의미한다.   // 변수가 아니다.

JSPL 이란 JSTL + EL의 조합을 말한다.

HTML 코드 내에 java 코드인 스크립트릿

<%= student%>를 ${student}로

<%=if%> 문을 <c:if>로

<%=for%> 문을 <c:forEach>로 대체하여 사용한다.


JSTL

JSTL의 정식 명칭은 jsp 스탠더드 태그 라이브러리로

JSTL 은 라이브러리이기 때문에 사용하기 전에 core를 header에 추가해 주어야 한다.

사용방법은 다음과 같다.

JSTL core의 태그들

<c:set>  

scope 속성  : 범위 4가지 p , r , s, a

ex) int count = 10; // <c:set var = "count" value = "10>

<c:out> = 값을 출력

ex) System.out.println("hello") // <c:out value="hello">

<c:if> = if문, else문 없음

var속성 : 조건식의 값을 저장할 변수

scope 속성 : boolean 변수가 사용될 범위를 뜻함

ex) <c:if test="조건식"> 참일때 실행할 문장 </c:if>

<c:choose>,<c:when>,<c:otherwise>

- if-else 문 처럼 사용 가능

-when 이 false 면 otherwise 블럭 실행


EL의 정식 명칭은 표현 언어라고 하며 줄여서 EL이라고 부른다

 

${pageScope}  - page Scope에 접근하기 위한 객체

${requestScope} - request Scope에 접근하기 위한 객체

${sessionScope} - session Scope에 접근하기 위한 객체

${applicationScope} - application Scope에 접근하기 위한 객체

${param}  -  파라미터 값을 가져오기 위한 객체

${header} - 헤더 값을 가져오기 위한 객체

${cookie}  - 쿠키 값을 가져오기 위한 객체

${initParam}  - JSP 초기 파라미터를 가져오기 위한 객체

${pageContext}  -    pageContext 객체에 접근하기 위한 객체 

연산 부호 연산자

+ +
* *
/ div
\&\& and
|| or
== eq
!= ne
< ge
> lt
<= ge
>= le

 


<c:set> 태그 보충설명 

태그는 EL에서 사용되어질 수 있는 Bean,Map 등에 값을 설정하거나, 일반 변수를

생성해서 값을 할당 할 수 있습니다.

 

<c:set> 태그의 속성들

- value 속성 : 값을 입력합니다.  EL을 사용할 수 있습니다.

- target 속성 : 프로퍼티를 설정할 빈 또는 맵을 가집니다.

- property 속성 : 설정할 프로퍼티 입니다.

- var 속성 : 값이 저장되는 변수명 입니다.

- scope 속성 : 변수가 저장된  Scope 입니다. page, request, session, application 을 가질 수 있고, 기본값은 page 입니다

 

1.Bean에 값을 할당 하는 방법

빈을 예로 들어 보겠습니다.

컨트롤러에서 model 객체에 넣어서 jsp 에서 사용할 수 있습니다.

(모델에 속성을 넣어주는데 Board라는 객체에  newBoard() 를 넣어줄거다)

jsp에서 위의 Bean의 프로퍼티의 값을 변경하고 싶을때 다음처럼 사용합니다.

<c:set target="$(board)" property = " title" value=" 제목을 변경합니다" />

<c:out value = "${board.title} />

 

 

 참고 : https://daesuni.github.io/jstl/

 

JSTL의 기본 개념과 사용방법 정리

1. JSTL이란?

daesuni.github.io

 

참고 : https://offbyone.tistory.com/366

댓글