[JSP] JSP문법
2019. 2. 25. 17:08ㆍJAVA Back-End
JSP 페이지에서 3가지 스크립트 요소를 제공합니다
- 선언문(Declaration) <%! %> : 전역변수 선언 및 메소드 선언에 사용
- 스크립트릿(Scriptlet) <% %> : 프로그래밍 코드 기술에 사용 (Service부분)
- 표현식(Expression) <%= %> : 화면에 출력할 내용 기술. 응답 결과에 포함할 부분
선언문(Declaration) - <%! %>
선언문은 JSP 페이지 내에서 필요한 멤버변수나 메소드가 필요할 때 선언해서 사용하는 요소입니다.
exam.jsp
<body>
<%!
String id = "shiningJean"; // member변수 선언
public String getId(){
return id;
}
%>
</body>
// JSP파일의 위치는 중요하지 않습니다. 어차피 자바로 바뀔 대 JSP코드 부분 때문에 위치가 선정되므로
// 실제 JSP파일 내의 위치가 어딨냐는 크게 중요하지 않습니다:)
스크립트릿(Scriptlet) - <% %>
가장 일반적으로 많이 쓰이는 스크립트 요소로 로직을 기술할 때 사용됩니다.
exam2.jsp
<body>
<%
for(int i=1; i<=5; i++){
%>
<h<%=i%>> header </h<%=i%>>
<%
}
%>
</body>
exam2.java
for(int i=1; i<=5; i++){
out.write("\r\n");
out.write("\t<h");
out.print(i);
out.write("> header </h");
out.print(i);
out.write('>');
out.write('\r');
out.write('\n');
}
// 자바 코드로 바뀐 부분.
실행 결과header
header
header
header
header
표현식(Expression) - <%= %>
JSP페이지에서 웹 브라우저에 응답 결과를 표현할 때. 출력할 부분을 표현식으로 나타냅니다.
스트립트릿 내에서 출력할 부분은 내장객체인 out.print() 또는 println() 메소드가 사용되어 출력됩니다
주석(Comment)
HTML 주석 : <!-- -->을 사용
HTML 주석은 HTML주석을 사용한 페이지를 웹에서 서비스할 때 화면에 내용이 표시되진 않지만, [소스보기]를 하면
HTML주석 내용이 화면에 표시됩니다.
JSP 주석 : <%-- --%>을 사용
JSP주석은 JSP페이지에서만 사용됩니다(jsp코드전용 코멘트). 자바코드로 변환될 때 변환되지 않습니다.
따라서 웹 브라우저에서도 JSP주석은 실해되지 않습니다.
JAVA주석 : //, /* */ 을 사용
JSP페이지 스크립트 요소 내에서 사용할 수 있습니다.(자바코드로 변환되기 때문에)
// 는 한 줄짜리 주석 작성 시 사용되고
/* */ 는 여러 줄의 주석 작성 시 사용됩니다.
스트립트릿(<% %>)이나 선언문(<%! %>)에 사용되는 주석으로, 자바와 주석 처리 방법이 같습니다.
comment.jsp
<body>
<!-- html 주석입니다. -->
<%--jsp 주석입니다.--%>
id : <%= getId()%>
<%!
String id = "shiningJean"; // member변수 선언
public String getId(){
return id;
}
%>
<%
// 스크립트 내의 자바 주석입니다.
for(int i=1; i<=5; i++){
%>
<h<%=i%>> header </h<%=i%>>
<%
}
%>
</body>
comment.java
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<meta charset=\"UTF-8\">\r\n");
out.write("<title>Insert title here</title>\r\n");
out.write("</head>\r\n");
out.write("<body>\r\n");
out.write("<!-- html 주석입니다. -->\r\n"); html주석은 out.write메소드로 출력됩니다.
out.write("\r\n");
out.write("\r\n");
out.write("id : ");
out.print( getId());
out.write('\r');
out.write('\n');
out.write(' ');
out.write("\r\n");
out.write("\t\r\n");
// 스크립트 내의 자바 주석입니다. 자바 주석은 이렇게 바로 주석처리되서 나오는 것을 확인할 수 있습니다.
for(int i=1; i<=5; i++){
out.write("\r\n");
out.write("\t<h");
out.print(i);
out.write("> header </h");
out.print(i);
out.write('>');
out.write('\r');
out.write('\n');
}
out.write("\r\n");
out.write("\r\n");
out.write("</body>\r\n");
out.write("</html>");
java코드를 살펴보면 html주석과 java주석은 나오지만 jsp주석은 컴파일되면서 읽히지 않는다는 걸 확인할 수 있습니다.
웹브라우저에서 [소스보기]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- html 주석입니다. -->
id : shiningJean
<h1> header </h1>
<h2> header </h2>
<h3> header </h3>
<h4> header </h4>
<h5> header </h5>
</body>
</html>
웹브라우저에서는 html주석만 그대로 화면에 출력되는 것을 볼 수 있습니다.
[ edwith - 웹프로그래밍 부스트코스 ] 를 개인적으로 공부하고 정리한 공간입니다. 잘못된 부분은 피드백 주시면 감사하겠습니다
'JAVA Back-End' 카테고리의 다른 글
[JSP] redirect 와 forward (1) | 2019.02.26 |
---|---|
[JSP] JSP 내장객체 (0) | 2019.02.25 |
[JSP] JSP 라이프 싸이클 (0) | 2019.02.25 |
[JSP] JSP? (0) | 2019.02.22 |
[JSP/Servlet] Request / Response 객체 (0) | 2019.01.30 |