JavaBean ์ ์ ์ฌ์ฉํ ๊น?
- JSP ํ์ผ์ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์ ๋์์ด๋๊ฐ ์ฐธ๊ณ ํ๋ ํ์ผ์ด๊ธฐ ๋๋ฌธ์ ํผ๋์ ์ค์ด๊ณ ์ ํ๋ก๊ทธ๋๋ฐ์ ์ต์ํํ๊ธฐ ์ํด JavaBean์ ์ฌ์ฉํด์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
- getter ์ setter๋ฅผ ์ ์ํ๊ณ ์์ฑํด๋์ ํด๋์ค์ด๋ค.
// UserBean.java
public class UserBean {
private String name;
private String age;
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;
}
}
// insert.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="Pack.UserBean" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>๊ฒฐ๊ณผ</h1>
<jsp:useBean id="user" class="Pack.UserBean" scope="page" />
<jsp:setProperty property="*" name="user"/>
<%
try{
out.println("์ด๋ฆ: " + user.getName() + " ");
out.println("๋์ด: " + user.getAge() + " ");
}catch(Exception e){
e.printStackTrace();
}
%>
</body>
</html>
- scope: ์์ฑ ์ค์ , JavaBean ๊ฐ์ฒด๋ฅผ ์ด๋์์ ์ธ ๊ฒ์ธ๊ฐ?
- id: ์์ฑ๋ ๊ฐ์ฒด๋ฅผ user ๋ผ๊ณ ํ๊ฒ ๋ค๋ ์๋ฏธ
- setProperty name="user" => user๋ก ํ๋ผ๋ฏธํฐ ๋ถ๋ฌ์ฌ ์ ์๋ค.
์์
index.java
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*, java.text.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<head>
<title>๋ฉ์ธ ํ์ด์ง</title>
</head>
<body>
<form action="t12">
<label>์ด๋ฆ : </label> <input type="text" name="name" value="ํธ๋์ด"><br>
<label>๋์ด : </label> <input type="number" name="age" value=10><br>
<br> <input type="submit" value="Submit">
</form>
<br />
</body>
- form์์ name๊ณผ age๋ฅผ submit ํ๋ฉด java bean ์ ๊ฐ์ด ์ ์ฅ๋๋ค.
People.java
package Pack01;
@Controller //์ปจํธ๋กค๋ฌ ์ด๋
ธํ
์ด์
๊ผญ ๋ถ์ฌ์ผ ํจ
class Dog {
@RequestMapping("/t12")
public String method12(Person p) {
p.getName();
p.getAge();
System.out.println("ํจ์ ์ฝ12 "+p.getName() + " " + p.getAge());
return "PersonView"; //๋ด๊ฐ ๊ฐ JSP ํ์ผ ๋ช
์ ์ด์ฃผ๋ฉด ๋๋ค.
}
}
- Person ๊ฐ์ฒด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์์ name, age ๊ฐ ๋ฐ์์ค๊ธฐ
PersonView.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="Pack01.Person"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="person" class="Pack01.Person" scope="page" />
<jsp:setProperty property="*" name="person" />
<%=person.getName()%>
<%=person.getAge() %>
</body>
</html>
- Person ์๋ฐ๋น ๊ฐ์ฒด๋ฅผ person ์ด๋ผ๊ณ ์นญํ๊ณ ๊ฐ์ฒด ์์ฑํด์ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
- Person person = new Person() ๊ณผ ๋์ผ
Person.java (Java Bean)
package Pack01;
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
- ์๋ฐ๋น ํด๋์ค : getter, setter
๋๊ธ