[JSP & Servlet]/Program source (JSP & Servlet)
[JSP Action Tag] 20231218 - FriendDTO, Friend, Friend_ok
Jelly-fish
2023. 12. 18. 15:03
01
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>