JSP
JSP 웹 프로그래밍 - 폼 태그 02
록's
2023. 2. 28. 18:35
728x90
반응형
textarea 태그로 회원가입 양식에 가입 인사 추가하기
<%@ 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>
<h3>회원 가입</h3>
<form action="#" name="member" method="post">
<p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복 검사">
<p> 비밀번호 : <input type="password" name="passwd">
<p> 이름 : <input type="text" name="name">
<p> 연락처 : <select name="phone1">
<option value="010">010</option>
<option value="011">011</option>
<option value="016">016</option>
<option value="017">017</option>
<option value="019">019</option>
</select>
- <input type="text" maxlength="4" size="4" name="phone2">
- <input type="text" maxlength="4" size="4" name="phone3">
<p> 성별 : <input type="radio" name="sex" value="남성" checked>남성
<input type="radio" name="sex" value="여성" >여성
<p> 취미 : 독서<input type="checkbox" name="hobby1" checked>
운동<input type="checkbox" name="hobby2" >
영화<input type="checkbox" name="hobby3" >
<p> <textarea name="comment" cols="30" row="3" placeholder="가입인사를 입력해주세요"></textarea>
<p> <input type="submit" value="가입하기">
<p> <input type="reset" value="다시 쓰기">
</form>
</body>
</html>
- 출력 -
폼 데이터 처리하기
요청 파라미터의 값 받기
- request 내장 객체는 웹 브라우저가 서버로 보낸 요청에 대한 다양한 정보를 담고 있어 getParameter( ) 메소드를 이용하여 요청 파라미터의 값을 얻을 수 있음
체크박스의 데이터를 전달 받는 예
// index.jsp
<%@ 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>
<form action="process.jsp" method="post">
<p> 독서 <input type="checkbox" name="reading">
운동 <input type="checkbox" name="exercise">
영화 <input type="checkbox" name="movie">
<p> <input type="submit" value="전송">
</form>
</body>
</html>
-출력-
// process.jsp
<%@ 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>
<p> 독서 : <%= request.getParameter("reading")%>
운동 : <%= request.getParameter("exercise")%>
영화 : <%= request.getParameter("movie")%>
</body>
</html>
-출력-
회원가입 양식에서 폼 데이터 전송받기
// form04.jsp
<%@ 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>
<h3>회원 가입</h3>
<form action="form04_process.jsp" name="member" method="post">
<p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복 검사">
<p> 비밀번호 : <input type="password" name="passwd">
<p> 이름 : <input type="text" name="name">
<p> 연락처 : <select name="phone1">
<option value="010">010</option>
<option value="011">011</option>
<option value="016">016</option>
<option value="017">017</option>
<option value="019">019</option>
</select>
- <input type="text" maxlength="4" size="4" name="phone2">
- <input type="text" maxlength="4" size="4" name="phone3">
<p> 성별 : <input type="radio" name="sex" value="남성" checked>남성
<input type="radio" name="sex" value="여성" >여성
<p> 취미 : 독서<input type="checkbox" name="hobby1" checked>
운동<input type="checkbox" name="hobby2" >
영화<input type="checkbox" name="hobby3" >
<p> <textarea name="comment" cols="30" row="3" placeholder="가입인사를 입력해주세요"></textarea>
<p> <input type="submit" value="가입하기">
<p> <input type="reset" value="다시 쓰기">
</form>
</body>
</html>
-출력-
// form04_process
<%@ 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>
<%
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
String name = request.getParameter("name");
String phone1 = request.getParameter("phone1");
String phone2 = request.getParameter("phone2");
String phone3 = request.getParameter("phone3");
String sex = request.getParameter("sex");
String hobby1 = request.getParameter("hobby1");
String hobby2 = request.getParameter("hobby2");
String hobby3 = request.getParameter("hobby3");
String comment = request.getParameter("comment");
%>
<p> 아이디 : <%=id %>
<p> 비밀번호 : <%=passwd %>
<p> 이름 : <%=name %>
<p> 연락처 : <%=phone1%><%=phone2%><%=phone3%>
<p> 성별 : <%=sex%>
<p> 취미 : <%=hobby1%><%=hobby2%><%=hobby3%>
<p> 가입 인사 : <%=comment%>
</body>
</html>
- 출력 -
회원가입 양식에서 폼 데이터 전송
// form05_process.jsp
<%@ 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>
<%
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
String name = request.getParameter("name");
String phone1 = request.getParameter("phone1");
String phone2 = request.getParameter("phone2");
String phone3 = request.getParameter("phone3");
String sex = request.getParameter("sex");
String[] hobby = request.getParameterValues("hobby");
String comment = request.getParameter("comment");
%>
<p> 아이디 : <%=id %>
<p> 비밀번호 : <%=passwd %>
<p> 이름 : <%=name %>
<p> 연락처 : <%=phone1%>-<%=phone2%>-<%=phone3%>
<p> 성별 : <%=sex%>
<p> 취미 : <%
if (hobby != null) {
for(int i=0; i <hobby.length; i++){
out.println(" " + hobby[i]);
}
}
%>
<p> 가입 인사 : <%=comment%>
</body>
</html>
- 출력 -
요청 파라미터의 전체 값 받기
- 요청 파라미터를 설정하지 않아도 모든 값을 전달받을 수 있음
- 텍스트 박스, 라디오 버튼, 드롭다운 박스와 같은 다양한 유형에 대해 한 번에 폼 데이터를 전달받을 수 있음
폼 데이터의 일괄 처리 메소드
회원가입 양식에서 폼 데이터를 한 번에 전송
// form06.jsp
<%@ 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>
<h3>회원 가입</h3>
<form action="form06_process.jsp" name="member" method="post"> <<<<<< 추가 // form06_process.jsp
<p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복 검사">
<p> 비밀번호 : <input type="password" name="passwd">
<p> 이름 : <input type="text" name="name">
<p> 연락처 : <select name="phone1">
<option value="010">010</option>
<option value="011">011</option>
<option value="016">016</option>
<option value="017">017</option>
<option value="019">019</option>
</select>
- <input type="text" maxlength="4" size="4" name="phone2">
- <input type="text" maxlength="4" size="4" name="phone3">
<p> 성별 : <input type="radio" name="sex" value="남성" checked>남성
<input type="radio" name="sex" value="여성" >여성
<p> 취미 : 독서<input type="checkbox" name="hobby" value="독서" checked>
운동<input type="checkbox" name="hobby" value="운동">
영화<input type="checkbox" name="hobby" value="영화">
<p> <textarea name="comment" cols="30" row="3" placeholder="가입인사를 입력해주세요"></textarea>
<p> <input type="submit" value="가입하기">
<p> <input type="reset" value="다시 쓰기">
</form>
</body>
</html>
// form06_process.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*, java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<th>요청 파라미터 이름</th>
<th>요청 파라미터 값</th>
</tr>
<%
request.setCharacterEncoding("UTF-8");
Enumeration paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String name = (String) paramNames.nextElement();
out.print("<tr><td>" + name + " </td>\n");
String paramValue = request.getParameter(name);
out.println("<td>" + paramValue + "</td><tr>\n");
}
%>
</table>
</body>
</html>
- 출력 -
728x90
반응형