Daily coding

JSP : jsp 작성해보기 - 변수, 조건문/반복문, jsp 구조와 class import 본문

Front-end/비동기통신

JSP : jsp 작성해보기 - 변수, 조건문/반복문, jsp 구조와 class import

sunnnkim 2020. 1. 20. 20:19

 jsp 작성해보기


1. 변수 선언

	<%
	 	// 변수 선언
        
	 	String str = "Hello JSP";
		System.out.println("str = " + str);
		out.println("str = " + str);
        
	 %>

: 자바와 같은 데이터 타입을 사용한다.

  다만, requset로 받은 데이터는 모두 String 타입이다.

 

 

2. 반복문 / 조건문

	 <%-- for문 사용가능 --%>
	 
     <% 
		 for(int i=0; i<10; i++){
	 %>	
			 <p id="demo1">
			 	P Tag <%=i+1 %>
			 </p>		 
	 <%
	 	}
	 %>
	 
     
	 <% // 이것도 같은 방식으로 for문을 돌리는 것이지만 위의 방법을 더 많이 사용
		 for(int i=0; i<10; i++) {
		 	out.println(" <p id='demo2'> P Tag" + (i+1) + "</p>");	 
		 } 
	 %>
     
     
     <% 
		// if문 사용가능
        int num = 0;
        if( num < 10 ){
        	num ++;
     	}else{
        	num =0;
        }
	%>

: 자바에서처럼 for문 등의 반복문과 if문을 사용할 수 있다.

 

* html태그와 함께 사용하기 위해서 자바 코드는 반드시 <% %> 안에 적고,

  html 코드는 반드시 <%%> 바깥 쪽에 쓰도록 한다.

  ( 중괄호, 대괄호 주의 )

 

 

3. JSP 선언부 : <%! %>

<%!
	// 전역변수 선언
	int gl_var = 0;
	
	// 함수선언
	public void func(){
		System.out.println("func() 호출");
	}
    //클래스 선언
    public class MyClass(){
    	int num;
        String str;
        
		public String myclass(){
        	return num + ", " + str ;   
        }
	}
%>

 

<%! %> : 선언 부분의 영역

- 변수선언 (global= 전역변수), 함수선언, 클래스 선언 등
- 딱 한번만 실행되는 영역, 잘 사용하지는 않음

- 이 부분에는 클래스를 선언하거나 함수를 선언할 수 있다.

  또한 전역 변수를 지정할 수 있는데, 페이지가 리로딩이 되더라도 전역변수의 값은 초기화 되지 않는다.

 

 

4. JSP 코드부

<%	

	gl_var++;	
    // 전역변수라 실행할 수록 값이 오름

	int var = 0;	// 지역변수 
	var++;
	out.println("gl_var = " + gl_var );
	out.println("var = " + var );
	
	// 함수호출
	func();	// 콘솔에 나옴	
    
    // 클래스 객체생성
    MyClass cls = new MyClass();
    String mstr = cls.myClass();
%>

<% : 코드부

- 일반코드를 작성하고 실행한다.

- html 코드와 함께 사용할 수 있다.

 

5. JSP Value부

<%

<%=gl_var  %>

%>


<%= : value부

- 값을 취득한다 

 

6. Class import하여 사용하기

<%
	// 다른 폴더에 만든 YouClass
	YouClass ycls= new YouClass(100,"일지매");
%>

<%-- ycls의 객체 모두 출력해보기 --%>
<%= ycls.toString() %>


<%-- static 함수 호출하기 --%>
<%
	MyUtil.myFunc();
	// static 함수가 호출됨 
%>

: java 파일을 import해서 jsp에서 사용하는 것도 가능하다

 객체를 생성할 때 파일내 자동 import 되기 때문에 따로 코드를 작성할 필요는 없다

 또한, 자바에서와 마찬가지로 static (정적) 함수를 불러올 수 있다.