jsp

Edit

JSP 기본 code

page Directive

용법 : <%@ page {attribute="value"} %>

<%@ page session="false">

페이지 지시어의 속성 설명

속성 설명
language="scriptLanguage" 페이지를 컴파일할 서버측 언어가 무엇인지 기술
extend="className" 페이지가 상속한 부모클래스를 정의
import="importList" 페이지가 import하는 자바팩키지 리스트 기술 (,로 구분)
session="true|false" 페이지에 session 데이터가 이용되는지의 여부를 결정 (디폴트값:true)
buffer="none|size in kb" 출력 스트림의 버퍼크기를 결정(디폴트값:8kb)
autoFlush="true|false" 출력버퍼가 자동적으로 비워지는가 또는 버퍼가 차면 익셉션을 발생할것인가 여부를 결정 (디폴트값:true)
isThreadSafe="true|false" JSP엔진에게 이 페이지가 일시에 다중으로 서비스할 수 있는가의 여부를 알림 (디폴트값은 true, 만약 이 값이 false로 셋팅되었다면 SingleThreadModel 로 페이지가 작동합니다.)
info="text" JSP페이지에 관한 정보를 나타낸다. Servlet.getServletInfo()메소드를 이용해 접근가능
errorPage="error_uri" JSP 익셉션을 다루는 에러 페이지의 상대경로를 나타냄
isErrorPage="true|false" 페이지가 에러핸들링하는 페이지인가를 기술(디폴트값:false)
contentType="ctinfo" 클라이언트로 보내질 response의 MIME타입과 캐릭터셋

※ 디폴트 값이 적용되므로 개발자는 이 속성을 모두를 정의해 줄 필요가 없습니다.

<!-- Cache management -->
<%
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setHeader("Expires","-1");
%>

<!-- Korean(한글) 사용을 위한 선언 -->
<%@ page contentType="text/html;charset=euc-kr" %>

<%@ page contentType="text/html;charset=euc-kr" pageEncoding="utf-8" %>

<!-- Protocol 정보 가져와서 비교하기 -->
<% request.getProtocol().equals("HTTP/1.1") %>

Redirect

response.sendRedirect("/path/filename.jsp");

Forward

RequestDispatcher dispatcher = request.getRequestDispatcher(url);
dispatcher.forward(request, response);

include

Cookie

JSTL

EL

JSTL자료

fn 태그

http://blog.naver.com/doit5993/6740524

<c:if test="${fn:length(ftpAuthList) == 0}" >

</c:if>

http://blog.naver.com/pistos2/80012600841

static method 활용 태그 http://blog.naver.com/haruma95/80009565986

fmt태그

<fmt:formatDate value="${ftpAuth.request_time}" pattern="yyyy/MM/dd HH:mm:ss" />
<context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name>
    <param-value>ko</param-value>
</context-param>

각종서버 변수 출력예제

예: 서버명 : <c:out value="${pageContext.request.serverName}" />

fmt

http://blog.naver.com/reomereome/40016433522

당신은 JSTL을 쓰시겠습니까?

http://czar.tistory.com/198

jstl 1.0

jstl 1.1

sql

자주쓰는 JSTL

선언

<%@ taglib prefix="c" uri="" %>

객체 설정

<c:set var="list_yn" value="false" scope="request"/>

출력

<c:out value='${vo.attribute}'/>

반복

<c:forEach var='customer' items='${customers}'>
      Current customer is <c:out value='${customer}'/>
</c:forEach>

<c:forEach var="name" varStatus="name"
begin="expression" end="expression" step="expression">
body content

조건 if

<c:if test="${list_yn == 'false'}">
            조회된 결과가 없습니다.
</c:if>

조건 choose

<c:choose>
   <c:when test="${detail.myWorkNum =='1' }">
    일의 번호가 1이군요.
   </c:when>

   <c:when test="${detail.myWorkNum =='2' }">
          일의 번호가 2이군요.
   </c:when>
   <c:otherwise>
지정된 일의 번호가 아니군요
   </c:otherwise>
</c:choose>
<c:url value="${param.url}" var="url">
<c:param name="name" value="${param.name}"/>
<c:param name="pwd" value="${param.pwd}"/>
<c:param name="email" value="${param.email}"/>
</c:url>
<br/><b>The resulting URL is:</b>
<c:out value="${url}"/>

<%= request.getContextPath() %>/servlet/info.UserInfo">를 대신