ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • page에 파라미터 전달하는 방법
    프로그램/JSP 2007. 11. 15. 11:46

    ①<jsp:forward page="/xx/yy/zz.jsp">
        <jsp:param name="x1" value="<%= x1 value %>" />
       </jsp:forward>

    ②<%
           ClassName  x1 value = ClassName.Method();
           request.setAttribute("x1",x1 value);
    %>

    <jsp:forward page="xx/yy/zz.jsp" />

    ③<%
           response.sendRedirect("/zz.jsp?name=%3F%3F
    %>


    <script language="Javascript">
    location.href="<%=request.getContextPath() %>/receiveParam.jsp"+
                             "num=<%=URLEncoder.encode(numberString) %>
    </script>             


    ==============================================================
    ①paramFrom.jsp
    ---------------------------------------------------------------
    <%@ page contentType = "text/html; charset=euc-kr" %>
    <%
        String value = request.getParameter("p1");
        if (value == null) value = "NOPARAM";
    %>
    <jsp:forward page="/chap07/param/paramTo.jsp">
        <jsp:param name="p1" value="<%= value %>" />
    </jsp:forward>
    ---------------------------------------------------------------

    p1이란 값을 paramTo.jsp 페이지에 전달

    paramTo.jsp
    ---------------------------------------------------------------
    <%@ page contentType = "text/html;charset=euc-kr" %>
    <html>
    <head><title>paramTo</title></head>
    <body>

    p1 파라미터 : <%= request.getParameter("p1") %>

    </body>
    </html>
    ---------------------------------------------------------------
    파라미터를 받는 페이지
    get 방식과 post 방식과 동일하게 request 객체에서 value 값을 받아옴.



    ②chap07/from/makeTime.jsp
    --------------------------------------------------------------
    <%@ page contentType="text/html;charset=euc-kr" %>
    <%@ page import="java.util.Calendar" %>
    <%
     Calendar cal = Calendar.getInstance();
     request.setAttribute("time",cal);
    %>
    <jsp:forward page="/chap07/from/viewTime.jsp" />
    --------------------------------------------------------------
    이것 역시 request 기본 객체에 time이라는 속성을 저장한 후
    viewTime.jsp라는 페이지로 이동한 후 time에 저장되어있는 Calendar를 읽어
    현재 시간을 출력한다.

    chap07/from/viewjsp
    --------------------------------------------------------------
    <%@ page contentType="text/html;charset=euc-kr" %>
    <%@ page import = "java.util.Calendar" %>
    <html>
    <head><title>현재시간</title></head>
    <body>
     
    <%
     Calendar cal = (Calendar)request.getAttribute("time");
    %>
    현재 시간은 <%= cal.get(Calendar.HOUR) %>시 <%= cal.get(Calendar.MINUTE) %> 분 <%= cal.get(Calendar.SECOND) %> 초 입니다.
    </body>
    </html>
    ---------------------------------------------------------------

    ③ chap02/redirectEncodingTest.jsp
    ---------------------------------------------------------------
    <%@ page import = "java.net.URLEncoder" %>
    <%
        String value = "자바";
        String encodedValue = URLEncoder.encode(value);
        response.sendRedirect("/index.jsp?name=" + encodedValue);
    %>
    ---------------------------------------------------------------

    chap07/sendParam1.jsp
    ---------------------------------------------------------------
    <%@ page contentType = "text/html; charset=euc-kr" %>
    <%@ page import = "java.net.URLEncoder" %>
    <%@ page import = "java.util.Random" %>
    <%
        Random random = new Random();
        int number = random.nextInt();
        String numberString = Integer.toString(number);
       
        response.sendRedirect(
            request.getContextPath()+"/chap07/receiveParam.jsp?num=" +
            URLEncoder.encode(numberString));
    %>
    --------------------------------------------------------------

     ④ 자바스크립트 방식의 경우
    chap07/sendParam2.jsp
    --------------------------------------------------------------
    <%@ page contentType = "text/html; charset=euc-kr" %>
    <%@ page import = "java.net.URLEncoder" %>
    <%@ page import = "java.util.Random" %>
    <%
        Random random = new Random();
        int number = random.nextInt();
        String numberString = Integer.toString(number);
    %>
    <script language="JavaScript">
    location.href = "<%= request.getContextPath() %>/receiveParam.jsp"+
                    "?num=<%= URLEncoder.encode(numberString) %>";
    </script>
    --------------------------------------------------------------

    ③④ 번 받는 파일(Get 방식)
    chap07/receiveParam.jsp
    -------------------------------------------------------------
    <%@ page contentType = "text/html; charset=euc-kr" %>
    <html>
    <head><title>제목</title></head>
    <body>

    전달받은 임의의 정수: <%= request.getParameter("num") %>
    </body>
    </html>
    --------------------------------------------------------------

    get 방식은 보안에 취약하고 문자 제한이 있는게 단점이다.

    '프로그램 > JSP' 카테고리의 다른 글

    Tomcat ContextRoot  (0) 2007.11.16
    jspf란  (1) 2007.11.15
    <jsp:include> 액션 태그 처리 순서  (0) 2007.11.15
    에러 처리 페이지  (0) 2007.11.15
    절대경로 / 상대경로(Tomcat 페이지 처리시 경로)  (0) 2007.11.14
    application 객체  (0) 2007.11.13
    pageContext 객체와 메소드  (0) 2007.11.13
Designed by Tistory.