Everything has an expiration date
[JSP Action Tag] 20231218 - GuestDTO, Guest, Guest_ok 본문
[JSP & Servlet]/Program source (JSP & Servlet)
[JSP Action Tag] 20231218 - GuestDTO, Guest, Guest_ok
Jelly-fish 2023. 12. 18. 13:0501
WebApp17
GuestDTO.java
/*===========================
GuestDTO.java
===========================*/
package com.test;
public class GuestDTO
{
// 주요 속성 구성
//※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
// Guest.jsp 에서의
// HTML 사용자 입력(input)객체 name 값과
// 변수명이 동일하지 않으므로 NG!!!
//※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
// private String name; //-- 게시물 작성자
// private String title; //-- 게시물 제목
// private String str; //-- 게시물 내용
//※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
private String userName; //-- 게시물 작성자
private String subject; //-- 게시물 제목
private String content; //-- 게시물 내용
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public String getSubject()
{
return subject;
}
public void setSubject(String subject)
{
this.subject = subject;
}
public String getContent()
{
return content;
}
public void setContent(String content)
{
this.content = content;
}
// ※ 여기에서 사용하는 변수명(속성명)의 앞 두 글자는 소문자로 작성할 것~!!! check~!!!
// numScore → getNumScore() / setNumScore()
// nScore → getNScore() / setNScore()
//  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄→ 서블릿 컨테이너가 인식을 잘못할 수 있으므로!
// 버전에 따라 다르게 인식할 가능성이 있다.
// (사용자가 직접 호출할 때는 상관 없지만..
// 서블릿 컨테이너에게 게터세터 호출을 맡기므로...)
// getnScore() / setnScore()
// getNscore() / setNscore()
// 와 같이 setter 가 속성명을 불러오는 과정에서
// 인식이 어긋나는 경우가 발생할 수 있기 때문...
// ※ 여기에서 사용하는 변수명(속성명)은
// HTML 의 form 태그에서 name 속성으로 지정하여 사용할 것.
// 그래야 속성 데이터 수신 및 속성 매핑을
// 액션 태그를 활용하여 자동으로 처리해줄 수 있기 때문...
// String name, title, content;
//
// public String getName()
// {
// return name;
// }
//
// public void setName(String name)
// {
// this.name = name;
// }
//
// public String getTitle()
// {
// return title;
// }
//
// public void setTitle(String title)
// {
// this.title = title;
// }
//
// public String getContent()
// {
// return content;
// }
//
// public void setContent(String content)
// {
// this.content = content;
// }
//
}
Guest.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Guest.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript">
// 이건 내꺼ㅎㅎ
function submit()
{
myForm.submit();
}
// 이건 선생님꺼~
function sendIt()
{
// 확인
//alert("함수 호출~!!!");
var f = document.myForm;
// :
// 체크 및 검증할 내용의 코드 작성 가능...
// :
f.submit();
}
</script>
</head>
<body>
<div>
<h1>간단한 기본 방명록 작성 실습</h1>
<hr>
</div>
<div>
<form action="Guest_ok.jsp" method="post" name="myForm">
<table class="table">
<tr>
<th>이름</th>
<td>
<!-- <input type="text" class="txt" name="name"> -->
<input type="text" class="txt" name="userName">
</td>
</tr>
<tr>
<th>제목</th>
<td>
<!-- <input type="text" class="txt" name="title"> -->
<input type="text" class="txt" name="subject">
</td>
</tr>
<tr>
<th>내용</th>
<td>
<textarea rows="5" cols="30" name="content"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<!-- <button type="button" class="btn" style="width: 100%;" onclick="submit()">방명록 작성</button> -->
<button type="button" class="btn" style="width: 100%;" onclick="sendIt()">방명록 작성</button>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
Guest_ok.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<!-- 접근 가능 영역 : 이 페이지 -->
<jsp:useBean id="ob" class="com.test.GuestDTO" scope="page"></jsp:useBean>
<jsp:setProperty property="*" name="ob"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Guest_ok.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
<div>
<h1>간단한 기본 방명록 작성 실습</h1>
<hr>
</div>
<%--
<jsp:useBean id="guest" class="com.test.GuestDTO" />
<jsp:setProperty property="*" name="guest"/>
--%>
<!--
<div>
<h2>작성된 내용</h2>
<h3>이름 : 홍길동</h3>
<h3>제목 : 어쩌구저쩌구</h3>
<h3>내용 : 이러쿵 저러쿵 궁시렁 궁시렁</h3>
</div>
-->
<!-- div>h2{작성된 내용}+h3{이름 : }+h3{제목 : }+h3{내용 : } -->
<%--
<div>
<h2>작성된 내용</h2>
<h3>이름 : <%=guest.getName() %></h3>
<h3>제목 : <%=guest.getTitle() %></h3>
<h3>내용 : <%=guest.getContent() %></h3>
</div>
--%>
<div>
<h2>작성된 내용</h2>
<h3>이름 : <%=ob.getUserName() %></h3>
<h3>제목 : <%=ob.getSubject() %></h3>
<!-- textarea 같은 경우에는, java의 System.out.println 처럼
개행을 "\n" 으로 처리하므로, replaceAll 을 통해
개행 문자를 "<br>" 으로 처리해 준다. -->
<!--★★★★★★★★★★★★★★★★★★★★★★★★★★★★-->
<h3>내용 : <%=ob.getContent().replaceAll("\n", "<br>") %></h3>
<!--★★★★★★★★★★★★★★★★★★★★★★★★★★★★-->
</div>
</body>
</html>