편집 기록

편집 기록
  • 프로필 편집요청빌런님의 편집
    날짜2020.04.23

    JSP 태그가 반복 실행됩니다.


    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>JSP & 서블릿 연습</title>
    </head>
    <body>
    <%!
        int num = 1;
        String str = "테스트 문자열";
        List<String> arr = new ArrayList<>();
    
        int addNums(int n1, int n2) {
            return n1 + n2;
        }
    %>
    
    // [1]
    <%
        System.out.println("안녕 JSP!");
    
        for (int i = 0; i < 5; ++i) {
            arr.add(str + " " + num);
            ++num;
        }
    
        for (String s : arr) {
            System.out.println(s);
        }
    %>
    
    <%
        if (num >= 5) {
    %>
    <p>if문 동작</p>
    <%
    } else {
    %>
    <p>else문 동작</p>
    <%
        }
    %>
    
    num의 값은 <%=num%>입니다.<br/>  // [2]
    <p>addNum(2, 3)의 값은 <%=addNums(2, 3)%>입니다.</p>
    </body>
    </html>
    

    위 jsp 파일을 실행하면 [2]에서 num의 최종 값은 6이 되어야 하는데, 11로 출력이 됩니다. 그리고 for문은 5번만 돌아야 하는데 "테스트 문자열"이 다음과 같이 10번만큼 추가 출력됩니다.

    안녕 JSP!
    테스트 문자열 1
    테스트 문자열 2
    테스트 문자열 3
    테스트 문자열 4
    테스트 문자열 5
    안녕 JSP!
    테스트 문자열 1
    테스트 문자열 2
    테스트 문자열 3
    테스트 문자열 4
    테스트 문자열 5
    테스트 문자열 6
    테스트 문자열 7
    테스트 문자열 8
    테스트 문자열 9
    테스트 문자열 10
    

    [1] 부분이 왜 이렇게 반복되는지 모르겠네요...도움 부탁드립니다.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.03.22

    JSP 태그가 반복 실행됩니다.


    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>JSP & 서블릿 연습</title>
    </head>
    <body>
    <%!
        int num = 1;
        String str = "테스트 문자열";
        List<String> arr = new ArrayList<>();
    
        int addNums(int n1, int n2) {
            return n1 + n2;
        }
    %>
    
    // [1]
    <%
        System.out.println("안녕 JSP!");
    
        for (int i = 0; i < 5; ++i) {
            arr.add(str + " " + num);
            ++num;
        }
    
        for (String s : arr) {
            System.out.println(s);
        }
    %>
    
    <%
        if (num >= 5) {
    %>
    <p>if문 동작</p>
    <%
    } else {
    %>
    <p>else문 동작</p>
    <%
        }
    %>
    
    num의 값은 <%=num%>입니다.<br/>  // [2]
    <p>addNum(2, 3)의 값은 <%=addNums(2, 3)%>입니다.</p>
    </body>
    </html>
    

    위 jsp 파일을 실행하면 [2]에서 num의 최종 값은 6이 되어야 하는데, 11로 출력이 됩니다. 그리고 for문은 5번만 돌아야 하는데 "테스트 문자열"이 다음과 같이 10번만큼 추가 출력됩니다.

    안녕 JSP!
    테스트 문자열 1
    테스트 문자열 2
    테스트 문자열 3
    테스트 문자열 4
    테스트 문자열 5
    안녕 JSP!
    테스트 문자열 1
    테스트 문자열 2
    테스트 문자열 3
    테스트 문자열 4
    테스트 문자열 5
    테스트 문자열 6
    테스트 문자열 7
    테스트 문자열 8
    테스트 문자열 9
    테스트 문자열 10
    

    [1] 부분이 왜 이렇게 반복되는지 모르겠네요...도움 부탁드립니다.