[JSP & Servlet]/Program source (JSP & Servlet)

[JSP Action Tag] 20231218 - FriendDTO, Friend, Friend_ok

Jelly-fish 2023. 12. 18. 15:03

01
Friend, Friend_ok

 

 

 

WebApp18


 

FriendDTO.java

 

/*======================
	FriendDTO.java
======================*/

package com.test;

public class FriendDTO
{
	// 주요 속성 구성
	private String name;			//-- 이름
	private String age;				//-- 나이		int age;	
	private String gender;			//-- 성별
	//private String idleType;		//-- 이상형		check~!!!
	
	private String[] idleType;		//-- 이상형
	//-- 이상형은 여러 개의 데이터가 동시에 전달되므로
	//   (즉, 다중 선택이 가능하도록 구성하였기 때문에)
	//   배열로 처리할 수 있다.

	public String getName()
	{
		return name;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	public String getAge()
	{
		return age;
	}

	public void setAge(String age)
	{
		this.age = age;
	}

	public String getGender()
	{
		return gender;
	}

	public void setGender(String gender)
	{
		this.gender = gender;
	}

	public String[] getIdleType()
	{
		return idleType;
	}

	public void setIdleType(String[] idleType)
	{
		this.idleType = idleType;
	}
	
	
	// getter / setter 구성
	
	
	
//	
//	String name, age, gender;
//	
//	String[] idealArr;
//	
//
//	public String[] getIdealArr()
//	{
//		return idealArr;
//	}
//
//	public void setIdealArr(String[] idealArr)
//	{
//		this.idealArr = idealArr;
//	}
//
//	public String getName()
//	{
//		return name;
//	}
//
//	public void setName(String name)
//	{
//		this.name = name;
//	}
//
//	public String getAge()
//	{
//		return age;
//	}
//
//	public void setAge(String age)
//	{
//		this.age = age;
//	}
//
//	public String getGender()
//	{
//		return gender;
//	}
//
//	public void setGender(String gender)
//	{
//		this.gender = gender;
//	}
//	
//	public String returnIdeal()
//	{
//		StringBuffer result = new StringBuffer();
//		
//		for (String s : this.getIdealArr())
//		{
//			result.append(s + " ");
//		}
//		
//		return result.toString();
//		
//	}
//	
	
}

 

 


 

Friend.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Friend.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<style type="text/css">
@font-face {
			    font-family: 'seolleimcool-SemiBold';
			    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2312-1@1.1/seolleimcool-SemiBold.woff2') format('woff2');
			    font-weight: normal;
			    font-style: normal;
			}
	
	* {  font-family: 'seolleimcool-SemiBold';}
	input {border-radius: 10pt;}
	.errMsg {color: red; font-size: small; display: none;}
	
</style>

<script type="text/javascript">

/* 	function sendIt()
	{
		var f = document.friendForm;
		var name = document.getElementById("name");
		var nameMsg = document.getElementById("nameMsg");
		
		nameMsg.style.display = "none";
		
		if (name.value=="")
		{
			nameMsg.style.display = "inline";
			name.focus();
			return;
		}
		
		f.submit();
	}
 */
 
 	function sendIt()
	{
	 	// 확인
	 	//alert("함수 호출~!!!");
	 	
	 	var f = document.myForm;
	 	
	 	if (!f.name.value)
	 	{
	 		alert("이름! 쫌~!!!");
	 		f.name.focus();
	 		return;
	 	}
	 	
	 	f.submit();
		
	}
 </script>


</head>
<body>

<div>
	<h1>데이터 입력</h1>
	<hr>
</div>

<!-- com.test.FriendDTO -->
<!-- Friend_ok.jsp -->

<div>
	<!-- <form action="Friend_ok.jsp" method="post" name="friendForm"> -->
	<form action="Friend_ok.jsp" method="post" name="myForm">
		<table class="table">
			<tr>
				<th>이름(*)</th>
				<td>
					<input type="text" class="txt" name="name" id="name">
				</td>
				<td>
					<span class="errMsg" id="nameMsg">이름을 입력하세요.</span>
				</td>
			</tr>
			<tr>
				<th>나이</th>
				<td>
					<input type="text" class="txt" name="age">
				</td>
			</tr>
			<tr>
				<th>성별</th>
				<td>
					<label>
						<input type="radio" name="gender" value="남자"> 남자
					</label>
					<label>
						<input type="radio" name="gender" value="여자"> 여자
					</label>
				</td>
			</tr>
			<tr>
				<th>이상형</th>
				<td>
					<label>
<!-- 						<input type="checkbox" name="idealArr" value="원빈"> 원빈 -->
						<input type="checkbox" name="idleType" value="원빈"> 원빈
					</label>
					<label>
						<!-- <input type="checkbox" name="idealArr" value="천우희"> 천우희 -->
						<input type="checkbox" name="idleType" value="천우희"> 천우희
					</label>
					<label>
						<!-- <input type="checkbox" name="idealArr" value="카리나"> 카리나 -->
						<input type="checkbox" name="idleType" value="카리나"> 카리나
					</label>
					<label>
						<!-- <input type="checkbox" name="idealArr" value="정우성"> 정우성 -->
						<input type="checkbox" name="idleType" value="정우성"> 정우성
					</label>
					<label>
						<!-- <input type="checkbox" name="idealArr" value="이동욱"> 이동욱 -->
						<input type="checkbox" name="idleType" value="이동욱"> 이동욱
					</label>
					<label>
						<!-- <input type="checkbox" name="idealArr" value="한소희"> 한소희 -->
						<input type="checkbox" name="idleType" value="한소희"> 한소희
					</label>
					<label>
						<!-- <input type="checkbox" name="idealArr" value="정해인"> 정해인 -->
						<input type="checkbox" name="idleType" value="정해인"> 정해인
					</label>
					<label>
						<!-- <input type="checkbox" name="idealArr" value="수지"> 수지 -->
						<input type="checkbox" name="idleType" value="수지"> 수지
					</label>
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<button type="button" class="btn" style="width: 100%;" onclick="sendIt()">등록</button>
				</td>
			</tr>
			
		</table>
	</form>
</div>

</body>
</html>

 

Friend_ok.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>
<% 
	request.setCharacterEncoding("UTF-8");

	//String[] idealArr = request.getParameterValues("ideal");

%>

<jsp:useBean id="ob" class="com.test.FriendDTO" scope="page"></jsp:useBean>
<jsp:setProperty property="*" name="ob"/>

<!-- 반복문 필요(다중 선택으로 넘어온 결과값을 출력하기 위한 처리) -->
<% 
	String str = "";
	if (ob.getIdleType() != null)
	{
		for (String temp : ob.getIdleType())
		{
			str += temp + " ";
		}
	}
%>

<% //ob.setIdealArr(idealArr); %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<style type="text/css">
@font-face {
			    font-family: 'seolleimcool-SemiBold';
			    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2312-1@1.1/seolleimcool-SemiBold.woff2') format('woff2');
			    font-weight: normal;
			    font-style: normal;
			}
	
	* {  font-family: 'seolleimcool-SemiBold';}
	input {border-radius: 10pt;}
	.errMsg {color: red; font-size: small; display: none;}
	
</style>
</head>
<body>

<div>
	<!-- 내용 -->
	
	<!-- <h2>이름 : 홍길동</h2> -->
	<h2>이름 : <%=ob.getName() %></h2>
	
	<!-- <h2>나이 : 21</h2> -->
	<h2>나이 : <%=ob.getAge() %></h2>
	
	<!-- <h2>성별 : 남자</h2> -->
	<h2>성별 : <%=ob.getGender() %></h2>
	
	<!-- <h2>이상형 : 한소희 정해인</h2> -->
	<h2>이상형 : <%=str %></h2>
</div>




<!-- div>h2{작성된 내용}+hr+h3{이름 : }+h3{나이 : }+h3{성별 : }+h3{이상형 : } -->

<%-- [내 풀잉ㅎㅎ]
<div>
	<h2>작성된 내용</h2>
	<hr />
	<h3>이름 : <%=ob.getName() %></h3>
	<h3>나이 : <%=ob.getAge() %></h3>
	<h3>성별 : <%=ob.getGender() %></h3>


	<h3>이상형 : <%
	 				//for (String s : ob.getIdealArr())
	 				for (String s : ob.getIdleType())
	 				{
	 			 %>
	 					<%=s %>	
	 			 <%
	 				}
				 %>
	</h3> 
	
</div>
 --%>


</body>
</html>