[JSP] JSP 태그 실습 -2

※ 다음 페이지의 구성 방식을 구현하시오 


- ex10number.html : 초기 값을 입력 받는 html 파일
- ex10write.jsp : ex10number.html 의 값 만큼 입력 폼 생성
- ex10result.jsp : ex10write.jsp의 값을 받아온 뒤, 다수의 아이템 값 중 무작위 값을 하나 가져와 출력

※ ex10number.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1 align="center">랜덤숫자입력</h1>
 
<!-- 기본 입력 양식 -->
<form action="ex10write.jsp">
    <p align="center">
    <input type="number" name = "num">
    <input type="submit" value = "생성하기">
    </p>
</form>
</body>
</html>
cs
- get 방식을 사용하여 전달
- post 방식의 경우 request.setCharacterEncoding("utf-8") 을 값을 전달 받는 jsp 파일에 사용
 

※ ex10write.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <%//입력 폼 갯수
       int num = Integer.parseInt(request.getParameter("num"));
    %>
    
    <h1 align="center">랜덤당첨 작성</h1>
    
    <%--ex10result로 값을 전달할 입력 폼--%>
    <form action="ex10result.jsp">
    <p align="center">
    
        <%--주제 값 받아옴--%>
        주제 : <input type="text" name = "object"><br>
        
        <%for(int i =0; i<num; i++){%>
            <%--다수의 값이 하나의 변수에 저장됨--%>
            아이템<%=i+1%><input type = "text" name = 'item'><br>
        <%}%>
        
        <%-- 값 전달 --%>
        <input type = "submit" value = "시작">
    </p>
    </form>
</body>
</html>
cs
- for 문을 이용해 다수의 값을 name 에 저장
- get 방식으로 ex10result.jsp 로 전송 


※ ex10result.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@page import="java.util.Random"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.sql.Array"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <%
        // 다수의 값을 배열 값으로 받아옴, getParameterValues 사용
        String []items = request.getParameterValues("item");
    
        //주제-텍스트 값 받아옴
        String object = request.getParameter("object");
        
        //배열에서 랜덤 한 값 하나를 선택하여 저장 
        Random ran = new Random();
        String set = items[ran.nextInt(items.length)];
 
    %>
    
    <%-- 출력 --%>
    <h1 align="center">랜덤 당첨 결과</h1>
    <p align="center"><%=object%></p>
    <p align="center"><%=set%></p>
    
    
</body>
</html>
cs
- getParameterValues() 함수로 text input 값을 배열 형으로 받아옴
- 배열 값 중 한 가지 값을 무작위로 받아 출력함

댓글