Language/└JSP | Servlet

[JSP] getParameter(), getParameterValues()를 이용한 학생 정보 입력 값 전달 | Yoon's Dev

Yooniron 2021. 4. 15. 14:56

[JSP] getParameter(), getParameterValues()를 이용한 학생 정보 입력 값 전달

 

 


TO Do.

 

- 학생 정보 테이블 작성하는 페이지에서 학생 정보 값 넘기기

- student.jsp에 학생 정보 출력하기

- checkBox를 여러 개 선택해서 getParameterValues로 여러 값 전달하기


목표:  student.jsp에 학생 정보 출력하기

 


1. student.jsp

 

먼저 학생 정보를 입력하기 위해 <table> 태그를 이용해 학생 정보 입력하는 페이지를 만들자.

 

student.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    <!-- submit시 studentProc.jsp로 post 형식으로 값 전달 -->
    <form action="studentProc.jsp" method="post">
    <table border="1" style="width:800px;">
        <th colspan="2"><h1>학생 정보</h1></th>
        <tr>
            <td >이름</td>
            <td width="700px"><input type="text" name="name"></td>
        </tr>
        <tr>
            <td>성별</td>
            <td>
                <input type="radio" name="sex" value="남자">남자
                <input type="radio" name="sex" value="여자">여자
            </td>
        </tr>
        <tr>
            <td>전공</td>
            <td>
                <select name="major">
                    <option value="국문학과" selected>국문학과</option>
                    <option value="영문학과" >영문학과</option>
                    <option value="수학과" >수학과</option>
                    <option value="정치학과" >정치학과</option>
                    <option value="체육학과" >체육학과</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>취미</td>
            <td>
                <input type="checkbox" name="hobby" value="수영">수영
                <input type="checkbox" name="hobby" value="여행">여행
                <input type="checkbox" name="hobby" value="독서">독서
                <input type="checkbox" name="hobby" value="영화감상">영화감상
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" value="회원정보 보내기">&nbsp;&nbsp;&nbsp;
                <input type="reset" value="다시 쓰기">
            </td>
            
        </tr>
    </table>
    </form>
</body>
</html>
cs

 

student.jspstudentProc.jsppost 형식으로 보낼 것 이다.

 

파라미터

 

이름: name

성별: sex

전공: major

취미: hobby


다음과 같이 정보를 입력해보고 넘겨보자!

studentProc로 보낼 정보


2. studentProc.jsp

 

 

studentProc.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    <%!
        String depart = ""//전공을 담을 String 멤버변수
    %>
    <%
        request.setCharacterEncoding("EUC-KR"); //인코딩 형식
        
        //student.jsp에서 넘긴 값 저장
        String name = request.getParameter("name");
        String sex = request.getParameter("sex");
        String major = request.getParameter("major");
        String hobby[] = request.getParameterValues("hobby"); //checkBox의 여러 내용을 저장하기위해 getParameterValues 사용
        
        // <select>태그의 전공에 따라 depart에 다르게 저장
        if (major.equals("국문학과")) {
            depart="국문학과";
        } else if (major.equals("영문학과")){
            depart="영문학과";
        } else if (major.equals("수학과")){
            depart="수학과";
        } else if (major.equals("정치학과")){
            depart="정치학과";
        } else depart="체육학과";
    %>
    <table border="1" style="width:800px;">
        <th colspan="2"><h1>학생 정보</h1></th>
        <tr>
            <td >이름</td>
            <td width="700px"><%=name %></td>
        </tr>
        <tr>
            <td>성별</td>
            <td><%=sex %></td>
        </tr>
        <tr>
            <td>전공</td>
            <td><%=depart %></td>
        </tr>
        <tr>
            <td>취미</td>
            <td><% for(String s: hobby) out.print(s + " "); %> 
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" value="회원정보 보내기">&nbsp;&nbsp;&nbsp;
                <input type="reset" value="다시 쓰기">
            </td>
            
        </tr>
    </table>
 
</body>
</html>
cs

20번째 줄에서 getParameterValues()를 하게 되면 배열로 이용해서 값을 여러 개 저장할 수 있다.!!

String hobby[] = request.getParameterValues("hobby");

 

그러고 나서, 배열로 저장한 것을 for-each 문으로 출력해주었다.

 

for(String s: hobby) out.print(s + " ");

 

<select> 태그 안에 있는 전공 값은 if문으로 major.equals로 비교해 선택한 전공이 나오게 조건문을 작성해주었다.


3. 함께 보면 좋은 글

 

 

[JSP] getParameter()를 이용한 간단한 사칙연산 계산기 | Yoon's Dev

[JSP] getParameter()를 이용한 간단한 사칙연산 계산기 TO Do. - 각각의 input 태그 안에 들어있는 피연산자와 연산자 두 개를 +, -, *, / 를 해서 보내기(submit) - calcProc.jps 에 연산결과 출력하기 목표: ca..

yooniron.tistory.com

 

 

[HTML/CSS] table 테이블 태그 속성 및 사용법, 표 만들기 | Yoon's Dev

table 테이블 태그 속성 및 사용법, 표 만들기, colsapn과 rowspan 속성을 이용하여 행, 열 합치기 html5에서의 표를 만드는 방법에 대해서 알아보자. 테이블 태그는 단순히 표를 나타내는 것뿐만 아니라

yooniron.tistory.com