JSP의 자바빈(JavaBeans) 사용시 <jsp:setProperty ... property="*"에 대해서
jsp:setProperty에서 property="*"는 개발자들의 손가락의 수고를 많이 덜어주는 유용한 기능이다.
JavaBeans가 다음과 같이 구성되어 있다고 할때
package com.joe.test;
public class Student {
private String sName;
private int sAge;
private int sGrade;
private int sID;
public Student() {
}
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
... 나머지는 생략 ...
}
JSP에서 자바빈 사용시 원래는 다음과 같은 방식이다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<jsp:useBean id="myStudent" class="com.joe.test.Student" scope="page"/>
... 중략 ...
<jsp:setProperty name="myStudent" property="sName" value="고길동"/>
<jsp:setProperty name="myStudent" property="sAge" value="10" />
<jsp:setProperty name="myStudent" property="sGrade" value="3"/>
<jsp:setProperty name="myStudent" property="sID" value="12345"/>
그런데 만일 폼으로부터 JSP가 JavaBeans를 이용해서 값을 넘겨 받는다면 이런식으로 처리된다.
form의 내용이 만일 다음과 같다고 할때
<form action="showStudent.jsp" method="post">
이름 : <input type="text" name="name" size="10"><br/>
나이 : <input type="text" name="age" size="3"><br/>
학년 : <input type="text" name="grade" size="3"><br/>
학번 : <input type="text" name="id" size="10"><br/>
<p/>
<input type="submit" value="전송"> <input type="reset" value="취소">
</form>
showStudent.jsp에서는 다음과 같이 값을 받는다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<jsp:useBean id="myStudent" class="com.joe.test.Student" scope="page"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<jsp:setProperty name="myStudent" property="sName" param="name"/>
<jsp:setProperty name="myStudent" property="sAge" param="age"/>
<jsp:setProperty name="myStudent" property="sGrade" param="grade"/>
<jsp:setProperty name="myStudent" property="sID" param="id"/>
학생이름 : <jsp:getProperty name="myStudent" property="sName"/><br/>
학생나이 : <jsp:getProperty name="myStudent" property="sAge"/><br/>
학 년 <jsp:getProperty name="myStudent" property="sGrade"/><br/>
학생번호 : <jsp:getProperty name="myStudent" property="sID"/>
</body>
</html>
그런데 만일 form의 파라미터 이름을 JabaBeans에 있는 변수명과 동일하게 한다면
<form action="showStudent.jsp" method="post">
이름 : <input type="text" name="sName" size="10"><br/>
나이 : <input type="text" name="sAge" size="3"><br/>
학년 : <input type="text" name="sGrade" size="3"><br/>
학번 : <input type="text" name="sID" size="10"><br/>
<p/>
<input type="submit" value="전송"> <input type="reset" value="취소">
</form>
showStudent.jsp에서는 아래 4개의 코드를
<jsp:setProperty name="myStudent" property="sName" param="sName"/>
<jsp:setProperty name="myStudent" property="sAge" param="sAge"/>
<jsp:setProperty name="myStudent" property="sGrade" param="sGrade"/>
<jsp:setProperty name="myStudent" property="sID" param="sID"/>
다음과 같이 간단히 사용할수 있다(showStudent.jsp의 나머지 내용은 동일).
<jsp:setProperty name="myStudent" property="*" />
'JSP & Servlet' 카테고리의 다른 글
JSP 변수를 자바스크립트(JavaScript)에서 사용하는 법 (0) | 2017.03.22 |
---|---|
Servlet에서 로그 출력 및 확인하기 (0) | 2017.03.10 |
JSP에서 MySQL 사용하기 (1) | 2016.12.28 |
Oracle database의 JDBC 사용에 필요한 url 정보에 대해 (0) | 2016.05.26 |
JSP 쿠키(cookie) 설정에 한글을 사용할 경우 발생하는 에러 : Control character in cookie value or attribute (0) | 2016.05.23 |