Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 빈즈
- "
- session.removeAttribute
- 영감
- ;
- opener
- static
- 자바빈즈
- 페이지 이동
- scanner
- 향상된 for문
- 파일 호출
- 동기 부여
- \
- target
- 페이지이동
- 팝업창
- BEANS
- 파일호출
- iframe
- 버리자
- session.getAttribute
- Import
- 동기부여
- 로그인화면
- session.setAttribute
- Alert
- 미래직장
- javaBeans
- 데이터사이언스
Archives
- Today
- Total
갈림길 이정표
[JSP] 레코드 단위 처리 Bean (Form Bean) 본문
[para2Exam.html]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>레코드 단위 처리 BEANS (Form bean)</title>
</head>
<body>
* 성적 자료 입력 *<br>
<form action="para2Exam.jsp" method="post">
이름: <input type="text" name="name" value="홍길동"><br>
국어: <input type="text" name="kor" value="90"><br>
영어: <input type="text" name="eng" value="80"><br>
<br>
<input type="submit" value="전송">
</form>
</body>
</html>
더보기
[ExamFormBean.java]
package pack;
public class ExamFormBean { //FormBean: 클라이언트로 부터 여러개의 값을 레코드 단위로 받아 처리할 목적인 클래스
private String name;
private int kor, eng; //숫자는 int로 받을 수 있지만 연산 목적이 아니라면 그냥 String 도 괜찮.
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getKor() {
return kor;
}
public void setKor(int kor) {
this.kor = kor;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
//이외 business logic 메소드 쓰는 것은 비권장
}
[ExamProcess.java]
package pack;
public class ExamProcess { //Business Logic 담당 클래스
private ExamFormBean formBean;
public void setFormBean(ExamFormBean formBean) {
this.formBean = formBean;
}
public int getTot() {
return formBean.getKor() + formBean.getEng();
}
public double getAvg() {
return getTot() / 2.0;
}
}
[para2Exam.jsp]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
/*String name = request.getParameter(name);
.
.
Beans 쓰면 부질 없는 짓*/
%>
<jsp:useBean id="bean" class="pack.ExamFormBean"/> <!-- import 할 필요 없음 (프리Path?) -->
<%--<jsp:setProperty property="name" name="bean"/>
<jsp:setProperty property="kor" name="bean"/>
.
.
Form Bean 쓰면 부질 없는 짓--%>
<jsp:setProperty property="*" name="bean"/> <!-- 이름 규칙을 잘 맞춰 썼다면 알아서 찾아 들어감 (자동화) ※setter만 가능 -->
<%-- (확인용)
System.out.println(bean.getName());
System.out.println(bean.getKor());
System.out.println(bean.getEng());
--%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Form bean 연습
이름은 <jsp:getProperty property="name" name="bean"/><br>
국어: <jsp:getProperty property="kor" name="bean"/><br>
영어: <jsp:getProperty property="eng" name="bean"/><br>
<jsp:useBean id="examProcess" class="pack.ExamProcess"/>
<%--<jsp:setProperty property="formBean" name="examProcess"/> 클라이언트로부터 받을 때 --%>
<jsp:setProperty property="formBean" name="examProcess" value="<%=bean %>"/> <!-- 서버 내에서 처리한 결과를 받을 때 -->
총점: <jsp:getProperty property="tot" name="examProcess"/>
평균: <jsp:getProperty property="avg" name="examProcess"/>
</body>
</html>
'Programming Language > Servlet & JSP' 카테고리의 다른 글
[JSP] Bean으로 DB 연결 (feat. 향상된 for문) (0) | 2020.08.26 |
---|---|
[JSP] (problem) Form Bean (0) | 2020.08.26 |
[JSP] Bean을 통한 값 전달 (0) | 2020.08.26 |
[JSP] javaBeans *개념 미완성* (0) | 2020.08.26 |
[JSP] Session test (0) | 2020.08.26 |
Comments