! 배워가고 있는 주인장이 쓴 글이니 정보의 정확성에 유의하시기 바랍니다 !
WebApp17
Guest.jsp
이름, 제목, 내용이 모두 입력되었을 때에만 작성할 수 있도록 script function sendIt() 구성
<%@ 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 sendIt()
{
var f = document.forms[0];
if(!f.userName.value)
{
alert("이름 입력 필요.");
f.userName.focus();
return;
}
if(!f.subject.value)
{
alert("제목 입력 필요.");
f.subject.focus();
return;
}
if(!f.content.value)
{
alert("내용 입력 필요.");
f.content.focus();
return;
}
f.submit();
}
</script>
</head>
<body>
<div>
<h1>간단한 기본 방명록 작성 실습</h1>
<hr>
</div>
<div>
<form action="Guest_ok.jsp" method="post">
<table class="table">
<tr>
<th>이름</th>
<td>
<input type="text" name="userName" class="txt">
</td>
</tr>
<tr>
<th>제목</th>
<td>
<input type="text" name="subject" class="txt">
</td>
</tr>
<tr>
<th>내용</th>
<td>
<textarea rows="5" cols="32" name="content"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<button type="button" onclick="sendIt()" class="btn"
style="width: 100%">방명록 작성</button>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
GuestDTO.java
※ 여기서 사용하는 변수명(속성명)의 앞 두 글자는 소문자로 작성할 것~!!!
단, 이 내용은 문법적 제한 사항은 아니다.
numScore → getNumScore() / setNumScore()
nScore → getNScore / setNScore()
getnScroe / setnScore()
와 같이 getter 나 setter 가 속성명을 불러오는 과정에서
인식이 어긋나거나 하는 경우가 발생할 수 있기 때문에...
※ 여기서 사용하는 변수명(속성명)은
HTML Document 의 form 태그에서 name 속성으로 지정하여 사용할 것.
단, 이 내용 또한 문법적 제한 사항은 아니지만
그렇게 해야 속성 데이터 수신 및 속성 매핑을
액션 태그를 활용하여 자동으로 처리해줄 수 있기 때문에...
/*================
GuestDTO.java
=================*/
package com.test;
public class GuestDTO
{
//String name;
//String title;
//String str;
//--name구성한 대로 선언해야 함
private String userName; //--작성자
private String subject; //--게시물 제목
private String content; //--게시물 내용
// getter/setter 구성
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;
}
}
■■■ JAVA Bean(자바 빈) ■■■
○ 개요
- 자바로 작성된 컴포넌트(객체)들을 일반적으로 일컫는 말
○ 사용 목적
- JSP 페이지에서 로직 부분을 분리하여 코드를 재사용함으로써
프로그램의 구성 효율을 높이기 위함
○ JAVA Bean 만들기
- 자바 빈은 클래스이므로 자바 클래스를 설계하는 것과 기본 규칙이 같다.
- 자바 빈에서는 멤버 변수를 프로퍼티(Property)라고 부른다.
- 클래스 선언은 『public』, 프로퍼티 선언은 『private』으로 한다.
- 프로퍼티 당 하나의 getter 와 setter를 갖는다.
- (매개변수가 없는) 기본 생성자를 포함한다.
- 직렬화 할 수 있어야 한다.
- POJO(Plain Old Java Object)
Guest_ok.jsp
<jsp:useBean ... ></jsp:useBean> 태그를 이용!!
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="dto" class="com.test.GuestDTO" scope="page"></jsp:useBean>
<%-- scope="page"는 안써도 설정되는 default --%>
<jsp:setProperty property="*" name="dto"/>
<!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>
<div>
<h2>작성된 내용 확인</h2>
<!-- <h3>이름 : 홍길동</h3> -->
<h3>이름 : <%=dto.getUserName() %></h3>
<!-- <h3>제목 : 어쩌구 저쩌구</h3> -->
<h3>제목 : <%=dto.getSubject() %></h3>
<h3>내용 :</h3>
<!-- <h4>궁시렁 궁시렁<br>이러쿵 저러쿵</h4> -->
<h4><%=dto.getContent().replace("\n", "<br>") %></h4>
</div>
</body>
</html>
! 배워가고 있는 주인장이 쓴 글이니 정보의 정확성에 유의하시기 바랍니다 !
'JAVA개념&실습' 카테고리의 다른 글
WEB : [0530] 게시판 기본 구성 실습 (0) | 2023.06.06 |
---|---|
WEB : [0526, 0530] 이상형 등록 실습 (0) | 2023.06.06 |
WEB : [0526] JSP 액션 태그 실습 (0) | 2023.05.28 |
WEB : [0526] cookie 실습 (0) | 2023.05.28 |
WEB : [0526] session 데이터 전송 실습 (0) | 2023.05.28 |