jsp의 구성요소중 2번째 !

또 까먹었을까봐

스크림형 원소는 3가지로 나눔

1.선언부 <%!    %>

2.스크립트렛 <%  %>

3.표현식 <%=  %>

 


1. [선언부] :  <%!  자바코드   %>

멤버변수의 선언 또는 멤버 메서드를 선언하는 용도로 사용한다.
 _jspService() 메소드 외부에 선언된다. (클래스 안에 생성!!) 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>  <!-- 여긴 지시어 --->
   
<%!
    /* 선언부는 여기서 작성한 자바코드는 서블릿으로 변환되면 class 안에 생성됨. 
      즉 멤버변수나 멤버 메소드 혹은 상수등을 선언부에서 선언 함. 선언만 가능 명령 노노!
	   변수선언과 동시에 초기화는 가능! 당근당근
	    ex) int num= 1; 
    */
    
    //멤버상수
    public static final int INT_MAX=Integer.MAX_VALUE;
    //멤버변수
    private String mVariable = "<h3>선언부에서 선언한 변수</h3>";
    //멤버메소드
    private int getMaxNumber(int num1, int num2){
    	return num1>num2 ? num1 : num2 ;
    }
    
%>

 

2.[스크립트렛] : <%   %>

<body>
	 <fieldset class=" form-group border p-3">
		<legend class="w-auto px-3">스크립팅요소</legend>
<%         //스크립트릿				
		/* 여기작성한 자바코드는 서블릿으로 변환시( _jspService) 메소드 안에 생성 
           고로 여기선 메소드 정의 불가! 
		   JSP에서 제공하는 내장객체는 _jspService()메소드 안에 선언된 변수(지역변수)로 
		   선언부에서는 사용 불가   	*/			
				
	//	   void method( ){ } 이렇게 메소드 정의 불가!
		   String localVariable="<h4>스크립틀릿 안에서 선언한 변수(지역변수)</h4>";
		   out.println("<h1 class='display-4'>스크립틀릿으로 출력</h1>");
		   out.println(INT_MAX);
		   out.println(mVariable);
		   out.println(localVariable);
		   out.println("최댓값:"+getMaxNumber(10,100));
 %>
 
		<h1 class='display-4'>표현식으로 출력</h1>
		  <!-- ex).]<%--="EXPRESSION"  --%>
		
			표현식은 _jspService()메소드 안에서 out.print("EXPRESSION");로 변환 됨
			고로 표현식 안에서 ;을 붙이면 에러
			out.print("EXPRESSION";);와 같이 변환됨으로 에러	
		 	--> 
		<%= INT_MAX %>   <!--out.print(INT_MAX );으로 변환 됨   -->
		<%= mVariable %>
		<%= localVariable %>
		<%= "최댓값:"+getMaxNumber(10,100)
 %>
		</fieldset>	
</body>

 

 

+ Recent posts