ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [jsp] 스크립트 태그
    jsp 2023. 3. 19. 19:29
    JSP는 크게 script tag, directive tag, action tag로 나뉜다. 
    • script tag는 HTML 코드에 자바 코드를 넣어 프로그램이 수행하는 기능을 구현할 수 있다.
    • directive tag는 JSP페이지를 어떻게 처리할것인지 설정하여 JSP페이지에 대한 정보를 JSP 컨테이너에 보낸다.
    • action tag는 클라이언트/서버에 어떤 작동을 행하도록 명령을 지시하는 XML형태의 태그로 JSP 페이지 사이에서 제어를 이동할 수도 있다.

     

    스크립트 태그의 종류

    JSP페이지가 서블릿프로그램에서 서블릿클래스로 변환될떄 JSP 컨테이너가 자바 코드가 삽입되어 있는 스크립트 태그를 처리하고 나머지는 HTML 코드나 일반 텍스트로 간주한다.

    스크립트 태그 형식 설명
    선언문(declaration) <%!  자바코드 %>  자바 변수나 메소드를 정의
    스클립틀릿(scriptlet) <% 자바코드 %> 자바 코드 작성
    표현문(expression) <%= %> 변수,계산식,메소드 호출결과를 문자열형태로 출력

    선언문 태그 

    변수나 메소드를 선언한다,  각 행이 세미콜론으로 끝나야한다.

    서블릿 프로그램으로 변환될때 _jspService()메소드 외부에 배치된다. (global변수,global메소드) global(전역변수)하기때문에 해당 JSP 페이지에 모든 스크립트태그가 참조할 수 있다. 

    _jspService()메소드 외부에 배치되기떄문에 jsp 페이지 임의의 위치 어디든 선언이 가능하며, 스크립틀릿 태그보다 나중에 선언해도 스크립틀릿 태그에서 사용할 수 있다.

    <html>
    <head>
    <title>Scripting Tag</title>
    </head>
    <body>
    	<%! int sum(int a, int b){
    		return a+b; 
    		} 
        %>
    	
        
        <%
    		out.println("5+6 = "+ sum(5,6));
    	%>
    </body>
    </html>

     

    스크립틀릿 태그 

    자바 코드로 이루어진 로직 부분을 표현한다, 즉 그냥 자바 코드, out객체를 사용하지 않고도 쉽게 HTML 응답 만듦., 각행이 세미콜론으로 끝나야한다. 메소드 없이 변수만 선언가능하다.

    서블릿 프로그램으로 변환될떄 _jpsService()메소드 내부에 배치된다, (local변수) local하기떄문에 스크립틀릿에 선언된 변수는 스크립틀릿 태그 내에서만 사용할수있다. 

     

    <html>
    <head>
    <title>Scripting tag</title>
    
    
    </head>
    <body>
    	<%
    		for (int i =0;i <= 10;i++){
    			if(i % 2 == 0)
    				out.println(i + "<br>"); 
    		}
    	%>
    </body>
    </html>

    표현문 태그 

    웹 브라우저에 출력할 부분을 표현한다. 표현문 태그에 숫자, 문자, 불린 등의 기본 데이터 타입과 자바 객체타입도 사용가능하다.

    자바코드의 일부가 들어있다. 세미콜론x(out.print() 메소드의 매개변수가 되어 문자열 형태로 출력되므로 ), 스크립틀릿 태그에서 선언된 변수나 메소드의 반환 값을 외부로 출력할 수 있다. 표현문 태그는 스크립틀릿 태그에서 사용할 수 없으므로 이경우에는 out.print()메소드를 사용해야한다.

    기본데이터타입은 toString()을 통해 출력되고, 자바 객체 타입은 java.lang.Object클래스의 toString()메소드를 사용하거나 자체에서 선언한 toString()을 사용하여 출력됨.

    <html>
    <head>
    <title>Scripting Tag</title>
    
    </head>
    <body>
    	<p>
    		Today's date:
    		<%= new java.util.Date() %></p>		
    </body>
    </html>

    주석처리 

    jsp에서 주석 처리  <%-- --%>

    혹은html의 <!-- -->이용해도 별 문제 없음.

    선언문이나 스크립틀릿 표현문 내부에 작성할땐 자바의 // 이용

     

    주석은 jsp 웹 페이지에서만 사용되며, 웹 브라우저를 통해 해당 페이지의 출력 결과를 확인하거나 웹 브라우저상에서 소스 보기를 해도 주석 태그 내의 내용은 표시되지않는다. jsp 엔진에 의해 무시되는 내용이다.

    <html>
    <head>
    <title>Scripting Tag</title>
    
    </head>
    <body>
    	<h2>Scripting Tag</h2>
    	<%-- 선언문 : 자바 변수나,메소드 정의, ; 붙여야함  --%>
    	<%! int count = 3; 
    		String makeItLower(String data){
    			return data.toLowerCase();
                //toLowerCase : 소문자 출력
    		} %>
    		
    	<!-- 스크립틀릿 : 자바 코드 작성, ;붙여야함   -->
    	<%
    		for (int i=1;i<=count;i++){
    			out.println("Java Server Pages "+i+".<br>");
    		}
    	%>
    	
    	<!-- 표현문 : 변수,계산식,메소드 호출 결과를 문자열 형태로 출력 -->
    	<%=makeItLower("Hello World") %>
    	
    	
    </body>
    </html>

     

    웹 쇼핑몰 시작 페이지 만들기

    부트스트랩 : 트위터에서 사용하는 다양한 디자인 요소를 CSS와 JS로 만들어 놓은 프론트엔드 개발용 프레임워크

    https://getbootstrap.com/docs/5.3/getting-started/introduction/

     

    Get started with Bootstrap

    Bootstrap is a powerful, feature-packed frontend toolkit. Build anything—from prototype to production—in minutes.

    getbootstrap.com

    해당 페이지에서 css URL 가져온다.

    https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css
    <html>
    <head>
    	<link rel ="stylesheet"
    		href = "https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css">
    	<title>Welcome</title>
    </head>
    <body>
    <!--네비게이션 바-->
    	<nav class ="navbar navbar-expand navbar-dark bg-dark"> 
    		<div class ="container">
    			<div class = "navbar-header">
    				<a class = "navbar-brand" href="./welcome.jsp">Home</a>
    			</div>
    		</div>
    	</nav>
    	<%! String greeting = "Welcome to Web Shopping Mall";
    		String tagline = "Welcome to Web Market!"; %>
    
    <!--점보트론-->
    	<div class="jumbotron">
    		<div class = "container">
    		 	<h1 class = "display-3"> <%-- h1을 display-1, display-2, display-3, display-4로 나눈것이다. --%>
    					<%= greeting %>
    			</h1>
    		</div>
    		<hr>
    	</div>	
        
    <!--컨테이너-->
    	<div class = "container">
    		<div class ="text-center"> <%-- 가운데 정렬 --%>
    			<h3>
    					<%= tagline %>
    			</h3>
    		</div>
    	</div>
    
    <!--푸터-->
    	<footer class ="container">
    		<p>&copy; WebMarket</p> <%-- &copy html에서 표현할수있는 문자들 중 하나이다. --%>
    	</footer>	
    </body>
    </html>

    'jsp' 카테고리의 다른 글

    HTTP,쿠키,세션  (1) 2023.05.30
    [jsp] 쿠키생성, 쿠키 정보 얻기, 쿠키 삭제  (0) 2023.05.24
    [jsp] 유효성 검사  (3) 2023.04.25
    [jsp] 파일 업로드  (0) 2023.04.25
    [jsp] 폼 태그  (0) 2023.04.25

    댓글

lee-ding