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