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