JSP의 문법은 태그를 이용함.
1. 스크립트 태그 2. 디렉티브 태그, 3. 액션 태그
스크립트 태그
HTML 코드에 자바코드를 넣음 -> 프로그램이 수행하는 기능을 구현
종류 : 선언문 / 스크립틀릿 / 표현문
스크립트 태그 | 형식 | 설명 |
선언문 | <%! .... %> | 자바 변수나 메소드 정의 |
스크립틀릿 | <% (JAVA코드) %> | 자바 로직 코드를 작성 |
표현문 | <%= ... > | 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력 |
디렉티브 태그
JSP 페이지 처리 방법을 설정 -> JSP 페이지에 대한 정보를 JSP 컨테이너에 보냄
액션 태그
JSP 페이지 사이에서 제어를 이동 (C/S에 어떤 작동을 하도록 명령하는 XML 형태
선언문태그 : 변수나, 메소드 등을 선언하는 태그
JSP 문법 태그 중 하나인 스크립트 태그의 선언문태그에 대해 알아보자.
<%! 자바코드; %>
선언문 태그에서 선언된 변수는 생성된 클래스의 소속변수로 정의됨.
<html>
<head>
<title> Scripting Tag</title>
</head>
<%-- 선언문 태그 --%>
<%! int count = 0; %>
<body>
Page Count is
<%
out.println(++count);
%>
</body>
</html>
<html>
<head>
<title> Scripting Tag</title>
</head>
<body>
Page Count is
<%
out.println(myMethod(0));
%>
<%-- 선언문 태그 --%>
<%! public int myMethod(int count) {
return ++count;
%>
</body>
</html>
=>변수, 메소드를 선언 가능
=> 서블릿 프로그램으로 변환될 때 _jspService()메소드 외부에 배치
스크립틀릿 태그 : 자바 코드로 이루어진 로직 부분
JSP 문법 태그 중 하나인 스크립트 태그의 스크립틀릿 태그에 대해 알아보자.
<% 자바 코드; %>
변수, 메소드 호출, 유효식 등을 표현함.
*모든 텍스트, HTML 태그, JSP 요소는 스크립틀릿 태그 외부에 있어야 함.
<html>
<head>
<title>Scripting Tag</title>
</head>
<%
int count = 0;
%>
<body>
Page Count is
<%
out.println(++count);
%>
</body>
<html>
<html>
<head>
<title> Scripting Tag</title>
</head>
<body>
<%
int a = 2;
int b = 3;
int sum = a + b;
out.println("2 + 3=" + sum);
%>
</body>
</html>
<html>
<head>
<title> Scripting Tag</title>
</head>
<body>
<%
for(int i = 0; i <= 10; i++) {
if (i % 2 == 0)
out.println(i + "<br>");
}
%>
</body>
</html>
=> 변수만 선언가능
=> 서블릿 프로그램으로 변환될 때 _jspService()메소드 내부에 배치
표현문 태그 : 웹 브라우저에 출력할 부분
JSP 문법 태그 중 하나인 스크립트 태그의 표현문 태그에 대해 알아보자.
<%= 자바 코드 %>
- 표현문의 태그는 스크립틀릿 태그에서 사용할 수 없음 -> out.print()메소드 사용 필요
- 숫자, 문자, 불린 등의 기본 데이터 타입, 자바 객체 타입도 사용 가능
- 모든 자바 코드의 값이 문자열로 변환되어 출력됨.
* 기본 데이터 타입은 toString(), 자바 객체 타입은 toString()메소드를 사용
- 세미콜론(;)은 사용하지 않는다. 문법 오류 발생함.
<html>
<head>
<title> Scripting Tag</title>
</head>
<body>
Page Count is
<%= ++count %>
</body>
</html>
<html>
<head>
<title> Scripting Tag</title>
</head>
<body>
<%
int a = 10;
int b = 20;
int c = 30;
%>
<%= a + b + c %>
</body>
</html>
주석처리
<%-- 주석 처리 내용 --%>