반응형
모델 1 : JSP + beans(정보를 담고 있는 객체들)
bean을 생성하는 클래스는 반드시
1.필드의 접근제한자는 private로 getter,setter가 존재해야 한다
2.기본생성자도 반드시 존재해야 한다(만들지 않아도 자동으로 생성됨)
class
package jspmodel1;
public class StudyBean {
private String name;
private String id;
private String title;
private String content;
public String getName() { return name; }
public String getId() { return id; }
public String getTitle() { return title; }
public String getContent() { return content; }
public void setName(String name) { this.name = name; }
public void setId(String id) { this.id = id; }
public void setTitle(String title) { this.title = title; }
public void setContent(String content) { this.content = content; }
}
ex01.jsp
기존 태그는 <> 로 작성하지만 태그 안에 입력값이 없을 경우 닫는 태그를 생략하고 싶을 때는 첫 태그 뒷부분에 / 넣어주면 닫는 태그 생략가능하다
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- StudyBean study1 = new StudyBean(); -->
<%-- <jsp:useBean class="jspmodel1.StudyBean" id="study1"></jsp:useBean> --%>
<jsp:useBean class="jspmodel1.StudyBean" id="study1" />
<!-- study1.setName("홍길동") -->
<!-- property의 이름은 해당 setter를 찾는것 -->
<jsp:setProperty name="study1" property="name" value="홍길동" />
<!--
StudyBean 클래스를 사용하여 study2 번을 생성합니다
이때 각 필드의 데이터는
name : 김길동
id : kimgildong
title : 안녕하세요
content : jsp bean을 사용하여 객체를 생성 중입니다
-->
<jsp:useBean class="jspmodel1.StudyBean" id="study2" />
<jsp:setProperty name="study2" property="name" value="김길동" />
<jsp:setProperty name="study2" property="id" value="kimgildong" />
<jsp:setProperty name="study2" property="title" value="안녕하세요" />
<jsp:setProperty name="study2" property="content" value="jsp bean을 사용하여 객체를 생성 중입니다" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>study ex01</title>
</head>
<body>
<h2>test</h2>
name : <%= study1.getName() %> <hr>
name : <%= study2.getName() %><br>
id : <%= study2.getId() %><br>
title : <%= study2.getTitle() %><br>
content : <%= study2.getContent() %><hr>
<form action="paramCheck.jsp">
name :
<input type="text" name="name"><br>
id :
<input type="text" name="id"><br>
title :
<input type="text" name="title"><br>
content :
<input type="text" name="content"><br>
<input type="submit">
</form>
</body>
</html>
paramCheck.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//bean에 대입할 파라미터들의 인코딩 타입부터 UTF-8로 수정한다
request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean class="jspmodel1.StudyBean" id="study" />
<jsp:setProperty name="study" property="name" param="name"/>
<jsp:setProperty name="study" property="id" param="id"/>
<jsp:setProperty name="study" property="title" param="title"/>
<jsp:setProperty name="study" property="content" param="content"/>
<jsp:useBean class="jspmodel1.StudyBean" id="study2" />
<!--
study2 bean의 속성명과 일치하는 모든 파라미터 값들을 필드에 대입해 주세요
-->
<jsp:setProperty name="study2" property="*"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>paramCheck</title>
</head>
<body>
<h2>paramCheck</h2>
<hr>
<h3>study</h3>
name : <%= study.getName() %><br>
id : <%= study.getId() %><br>
title : <%= study.getTitle() %><br>
content : <%= study.getContent() %><hr>
<h3>study2</h3>
name : <%= study2.getName() %><br>
id : <%= study2.getId() %><br>
title : <%= study2.getTitle() %><br>
content : <%= study2.getContent() %><hr>
</body>
</html>
반응형
'Java' 카테고리의 다른 글
[Servlet] 모델2 MVC (4) | 2024.10.07 |
---|---|
[JSP] 모델1로 회원가입하기 (0) | 2024.10.06 |
[Java] 람다식 (2) | 2024.08.27 |
[Java] Map (0) | 2024.08.25 |
[Java] set 연습 (0) | 2024.08.24 |