・<%= %> 태그는 html안에 자바의 변수를 넣는데 사용할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body> <%! int age; %> <% age = Integer.parseInt(request.getParameter("age")); if(age>20){%> <jsp:forward page="agePass.jsp"> <jsp:param name="age" value="<%= age %>"/> </jsp:forward> <%} else{%> <jsp:forward page="ageFail.jsp"/> <%} %> </body> </html> | cs |
・out.println은 콘솔에 찍는게 아니고, html에 출력할 내용을 전달하는 명령어이다.
지시자(Directives)
<%@ %>태그 사이에 오는 코드
주로 page 지시자를 사용함
contentType, pageEncoding을 사용하여 문서타입과 인코딩을 설정함
contentType 인코딩은 JSP파일을 HTML문서로 변환할 때 적용되는 인코딩
pageEncoding 인코딩은 그냥 JSP파일에 적용되는 인코딩
요즘은 유니코드를 주로 사용하기 때문에 UTF-8을 주로 사용함(한글 문제가 있을 시 EUC-KR을 가끔 사용)
JSP코드가 사용되는 부분은 HTML에서 공백으로 처리됨
trimDirectiveWhitespaces을 설정하면 공백을 없앨 수 있음
import는 자바 프로그래밍 import와 동일한 역할을 수행
선언문(Declarations)
<%! %>태그 사이에 오는 코드
서블릿 클래스의 선언부에 오는 내용이라고 보면 됨 (서블릿을 모르면 그냥 PASS)
함수선언 같은 것을 여기서 할 수 있음
클래스(Class)를 따로 구현해서 임포트하는 구조가 깔끔하기 때문에 선언문을 쓸일이 별로 없음
스크립트릿(Scriptlet)
<% %>태그 사이에 오는 코드 (가장 기본이 됨)
자바 프로그래밍에서 할 수 있는 일을 여기서 거의 다 할 수 있음
(if문, for문, while문, switch문 등등)
out.print 함수를 사용하면 화면 출력도 가능
표현식(Expression)
<%= %>태그 사이에 오는 코드
내장 객체(Implicit Objects)라고 부르기도 함
출력을 할 내용을 여기에 입력함
out.print()함수의 인자로 생각하면 이해하기 쉬움
즉, <%= 출력할 것 %> 와 out.print(출력할 것)은 동일함
세미콜론(;) 사용하면 에러가 남