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 |