웹 개발 기초/자바 웹을 다루는 기술

표현식 사용하기

sungw00 2023. 2. 27. 23:20
728x90

표현식: JSP 페이지의 정한 위치에 값을 출력하는 기능

즉, JSP 페이지에서 변수나 메서드의 결괏값 등을 브라우저에 출력하는 용도로 사용

 

표현식의 형식

<%= 값 or 자바 변수 or 자바 식 %>

JSP 페이지에서 표현식 실습

1. hello3.jsp 파일 작성

// hello3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%!
	String name = "이순신";
	public String getName() { return name; }
%>

<% String age = request.getParameter("age"); %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표현식 연습</title>
</head>
<body>
	<h1>안녕하세요 <%= name %>님!!</h1> // <%= %>를 이용해 값을 출력
	<h1>나이는 <%= age %>입니다!!</h1>
	<h1>키는 <%= 180 %>cm입니다!!</h1>
	<h1>나이+10은 <%= Integer.parseInt(age) + 10 %>살입니다!!</h1> // age에 10을 더한 값을 출력
</body>
</html>

 

2. http://localhost:8090/pro12/hello3.jsp?age=22로 요청

 

3. 결과값 확인

아래 그림은 서블릿으로 변환된 hello3.jsp의 코드이다.

빨간 네모박스 안의 표현식 값은 표현식의 원하는 위치에서 print( ) 메서드를 이용해 브라우저에 출력되는 것이다.

 

에러 발생시키기

만약 선언문 안에 다음과 같이 세미콜론(;)을 추가하면 어떻게 될까?

표현식 안에 세미콜론을 추가한 모습

다음과 같이 500 에러가 나타나게 된다.

<%= %> 안의 자바 변수나 자바 식에는 세미콜론(;)이 있으면 정상적으로 동작하지 않는 웹 페이지가 되어버린다.

 

스크립트 요소는 브라우저에서 JSP 페이지 요청 시 모두 서블릿의 자바 코드로 변환된다.

즉, 스크립트 요소는 브라우저로 전송되지 않고, HTML태그, CSS, 자바스크립트만 브라우저로 전송된다.

728x90

'웹 개발 기초 > 자바 웹을 다루는 기술' 카테고리의 다른 글

내장 객체 기능  (0) 2023.02.28
스크립트 요소 이용해 실습하기  (0) 2023.02.28
스크립트릿 사용하기  (0) 2023.02.27
선언문 사용하기  (0) 2023.02.27
JSP 스크립트 요소  (0) 2023.02.27