JSP의 스크립트 요소

Download Report

Transcript JSP의 스크립트 요소

02
JSP 기본 프로그래밍

JSP의 기본 문법을 이해한다.
JSP 페이지의 실질적인 영향을 주는 선언무, 스크립트릿, 표현식 세 가지
와 주석을 처리하는 주석 부분을 이해한다.


JSP의 기본 제어문에 대해 이해한다.
Chapter
JSP의 스크립트 요소
1
1
02
목차
1.
스크립트 요소의 이해
2.
선언문(Declaration)
3.
스크립트릿
4.
표현식
5.
주석
6.
JSP의 기본 제어문
Chapter
JSP의 스크립트 요소
2
2
02
1. 스크립트
요소의 이해

스크립트 요소란?


JSP 프로그래밍에서 사용되는 문법의 표현 형태
스크립트 요소




Chapter
선언문
스크립트릿
표현식
주석
JSP의 스크립트 요소
3
3
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
02
<html>
<title>JSP스크립트 Example</title>
<body>
<h1>Script Example1</h1>
<%!
String declaration = "Declaration";
%>
<%!
public String decMethod(){

스크립트의 간단한 예제
ScriptExample1.jsp
스크립트의 간단한 예제
return declaration;
}
%>
<%
String scriptlet = "Scriptlet";
String comment = "Comment";
out.println("내장객체를 이용한 출력 : " + declaration + "<p>");
%>
선언문의 출력1 : <%=declaration%><p>
선언문의 출력2 : <%=decMethod()%><p>
스크립트릿의 출력 : <%=scriptlet%><p>
<!--JSP주석부분-->
<!-- JSP 주석1 : <%=comment%> --><p>
<%-- JSP 주석2 : <%=comment%> --%>
<% /* 주석
(여러줄 주석)
*/
%>
<%// 주석(한줄 주석)%>
</body>
JSP의
</html>
Chapter
스크립트 요소
4
4
02
2. 선언문(Declaration)



JSP에서 사용될 변수나 메소드를 선언할 수 있는 영
역
선언문에서 선언된 변수를 “멤버변수”라고 한다.
선언문의 문법
<%!
변수 및 메소드를 선언하는 영역
%>
Chapter
JSP의 스크립트 요소
5
5
02
2. 선언문(Declaration)

변수 선언

선언문에서 선언된 변수는 JSP 페이지가 파싱(parsing)이
되면 Servlet의 멤버변수가 된다.
01
02
03
04
05
06
07
08
Chapter
//DeclarationExample1.jsp
<h1>Declaration Example1</h1>
<%
//name 보다 늦게 선언이 되었지만
// team이라는 변수의 값을 참조하고 있습니다.
String name = team + " Fighting!!!";
%>
<%!
String team = "Korea";
%>
출력되는 결과는 ? <%=name%>
JSP의 스크립트 요소
6
6
02
2. 선언문(Declaration)

메소드 선언
선언문에서 선언된 메소드는 JSP 페이지 내에서는 일반적인 메소
드로
선언
//DeclarationExample2.jsp

01
02
03
04
05
06
07
08
09
<h1>Declaration Example2</h1>
<%!
int one;
int two = 1;
public int plusMethod(){
return one + two;
}
String msg;
int three;
// 멤버변수는 초기화를 시키지 않으면 int는 0, String은 null값으로 return됩니다.
//하나의 선언문에 여러 개 변수와 여러 개의 메소드를 선언을 할 수가 있습니다.
10 %>
11
12 one 와 two의 합은 ? <%=plusMethod()%><p>
13 String msg의 값은 ? <%=msg%><p>
14 int three의 값은 ? <%=three%>
Chapter
JSP의 스크립트 요소
7
7
02
3. 스크립트릿
(Scriptlet)

스크립트릿





일반적으로 가장 많이 쓰이는 스크립트 요소
JSP페이지가 서블릿으로 변환되고, 요청될 때 _jspService 메소
드안에 선언
선언문과는 달리 지역변수로 선언됨
스크립트릿에서 화면 출력을 위해서 out.println()을 사용.
스크립트릿의 문법
<%
이 곳에 코드를 작성(변수선언, for, while, if 등…)
%>
Chapter
JSP의 스크립트 요소
8
8
02
3. 스크립트릿
(Scriptlet)

스크립트릿의 예

스크립트릿의 활용
01
02
03
04
05
06
07
08
<h1>Scriptlet Example1</h1>
<%!
int one;
String msgOne;
%>
<%
int two = 22;
String msgTwo = "Scriptlet Test";
%>
//ScriptExampleExample2.jsp
<h1>Scriptlet Example2</h1>
<%
float f = 2.3f;
int i = Math.round(f);
//Math 클래스에 round 메소드는 정적인(static) 메소드이므로 클래스명으로
//접근이 가능하고 실수 값을 반올림하여 정수 값으로 리턴 시키는 메소드
java.util.Date date = new java.util.Date();
//Date 클래스를 통해서 스크립트릿 안에서 객체를 생성.
%>
실수 f의 반올림값은? <%=i%><p>
현재의 날짜와 시간은? <%=date.toString()%>
// date객체를 String 타입으로 변환해서 출력
Chapter
JSP의 스크립트 요소
9
9
02 (Expression)
4. 표현식

동적인 JSP 파일 부분을 브라우저로 표현을 하기 위한 코드 부분

변수의 값을 출력하거나 메소드의 결과값을 가져옴

스크립트릿 코드 내에서 out이라는 내부 객체(Implicit Objects)를
통해서 브라우저에 출력도 가능

세미콜론 생략(Servlet코드로 변환될 때 기본적으로 세미콜론이 붙
여짐)

표현식의 문법
<%= 변수 혹은 메소드 %>
Chapter
JSP의 스크립트 요소
10
10
02 (Expression)
4. 표현식

표현식 요소 예제
01
02
03
04
05
06
07
08
09
10
11
Chapter
//ExpressionExample1.jsp
<h1>Expression Example1</h1>
<%!
String name[] = {"Sun","Java","JSPStudy"};
//name이라는 배열변수를 선언과 동시에 값
%>
<table border=1 width=200>
<% for (int i=0;i<name.length;i++){%>
//정수 i가 배열의 길이만큼 for문을 루프를 돌려서 출력
<tr><td><%=i%></td>
<td><%=name[i]%></td>
</tr>
<%}%>
</table>
JSP의 스크립트 요소
11
11
02 (Expression)
4. 표현식

표현식 요소 예제
01
02
03
04
05
06
07
08
09
10
11
12
13
14
//ExpressionExample2.jsp
<h1>Expression Example2</h1>
<%
java.util.Date date = new java.util.Date();
int hour = date.getHours();
//Date 클래스에서 getHours() 메소드를 사용하여 시간(hour) 값만 반환
int one = 10;
int two = 12;
%>
<%!
public int operation(int i,int j){
return i > j ? i : j;
}
//삼항 연산자를 사용하여 두개의 매개변수 값 중에 더 큰 값을 반환 시키는 메소드
%>
지금은 오전일까요 오후일까요? <%=(hour < 12)? "오전":"오후"%><p>
one과 two 둘 중에 큰 숫자는? <%=operation(one,two)%>
Chapter
JSP의 스크립트 요소
12
12
02
5. 주석

HTML 형식의 주석

소스 보기 : <!-- Fighting Korea!!! -->
<!-- Fighting <%=name%>-->

JSP 형식의 주석


오직 JSP 소스 파일에만 사용
출력결과를 브라우저 상에서 소스 보기를 해도 나타나지않음 ->
Servlet으로 코드 전환될 때에 무시
<%-- Fighting <%=name%>--%>
Chapter
JSP의 스크립트 요소
13
13
02
5. 주석

스크립트 언어 주석
<%....../* 여러줄 주석 */……%>
<%......// 한 줄 주석……%>
<%=name/*주석*/%>
Chapter
JSP의 스크립트 요소
14
14
02
5. 주석

주석 요소 예제
01
02
03
04
05
06
07
08
09
10
11
12
//CommentExample1.jsp
<h1>Comment Example1</h1>
<%
String name = "Korea";
%>
<!-- 주석 부분입니다. '소스보기'에서 보이지요. -->
<%-이 부분은 JSP 페이지에서만 보이고 '소스보기'를 해도 보이지 않음
브라우저에 보내지 않는 문장
--%>
<!--<%=name%>주석에도 동적인 변수 사용-->
<%=name/* 표현식에 주석 부분 */%> Fighting!!!
Chapter
JSP의 스크립트 요소
15
15
02 기본 제어문
6. JSP의

If-else(조건 분기문)
01
02
03
04
05
06
07
08
09
10
11
//IfExample.html
<h1>If-else Example</h1>
<FORM METHOD=POST ACTION="IfExample.jsp">
이름 : <INPUT TYPE="text" NAME="name"><p>
좋아하는 색깔 : <SELECT NAME="color">
<option value="blue" selected>파란색</option>
<option value="red">붉은색</option>
<option value="orange">오렌지색</option>
<option value="etc">기타</option>
</SELECT><p>
<INPUT TYPE="submit" VALUE="보내기">
</FORM>
Chapter
JSP의 스크립트 요소
16
16
02
6. JSP의 기본 제어문
//IfExample.jsp
<h1>If-else Example</h1>
<%!
String msg;
%>
<%
String name = request.getParameter("name");
String color = request.getParameter("color");
01
02
03
04
05
06
07
08
09 if (color.equals("blue")) {
10
msg = "파란색";
11
12 } else if (color.equals("red")) {
13
msg = "붉은색";
14
15 }else if (color.equals("orange")){
16
msg = "오렌지색";
17
18 }else{
19
color = "white";
20
msg = "기타색";
21 }
22 %>
23 <body bgcolor=“<%=color%>”>
24
<%=name%>님이 좋아하는 색깔은 <%=msg%>입니다.
25 </body>
Chapter
JSP의 스크립트 요소
17
17
02
6. JSP의 기본 제어문

for(반복문)
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
//ForExample.jsp
<h1>For Example</h1>
1에서 10까지 합은 ?<p>
<%
int i,sum = 0;
for(i=1;i<=10;i++){
if(i<10){
%> // if와 for블록이 끝나지 않았지만 스크립트릿을 닫기
<%=(i + " +")%> //if블록 안에 표현식을 삽입
<%
}else{
out.println(i + " = ");
}
sum += i;
}
%>
<%=sum%>
Chapter
JSP의 스크립트 요소
18
18
02 기본 제어문
6. JSP의

while(반복문)
01
02
03
04
05
06
//WhileExample.html
<h1>While Example</h1>
<FORM METHOD=POST ACTION="WhileExample.jsp">
반복하고 싶은 문구 : <INPUT TYPE="text" NAME="msg" SIZE="20"><p>
반복하고 싶은 횟수 : <INPUT TYPE="text" NAME="number"><p>
<INPUT TYPE="submit" VALUE="보내기">
</FORM>
Chapter
JSP의 스크립트 요소
19
19
02
6. JSP의 기본 제어문
01
02
03
04
05
06
07
08
09
10
11
12
//WhileExample.jsp
<h1>While Example</h1>
<%
String msg = request.getParameter("msg");
int number = Integer.parseInt(request.getParameter("number"));
//비록 요청한 값이 정수이지만 값을 받는 부분에서는 문자로 인식하기
//때문에 받은 값을 다시 정수 값으로 변환시키는 코드
int count = 0;
while(number>count){
%>
<b><%=msg%></b><br>
<%
count++;
}
%>
Chapter
JSP의 스크립트 요소
20
20