Daily coding
JSP : jsp 작성해보기 - 변수, 조건문/반복문, jsp 구조와 class import 본문
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 (정적) 함수를 불러올 수 있다.
'Front-end > 비동기통신' 카테고리의 다른 글
AJAX : $.ajax를 이용하여 비동기통신 설정하기 (1) (0) | 2020.01.28 |
---|---|
JSP : 대표적인 내장객체 - request, response, session (0) | 2020.01.20 |
JSP : JSP 개념과 기본 (0) | 2020.01.20 |
Servlet : Cookie와 Session (0) | 2020.01.18 |
Servlet : include 방식과 forward방식 (0) | 2020.01.18 |