jsp:setProperty

If this post was helpful to you, please leave a comment. :) Thank you!

How to use <jsp:setproperty>

A. <jsp:useBean>에 사용 할 Bean 객체(Object)





















B. result.jsp로 Parameter를 넘겨줄 form.html
























C. result.jsp











1. <jsp:useBean>
: request.getAttribute에서 model 이라는 이름을 가진 객체(TestModel)가 존재한다면 <jsp:setProperty>는 실행되지 않는다. 그러나 존재하지 않는다면, model 이라는 이름으로 객체(TestModel)를 만들고, <jsp:setProperty>를 실행하여 model 객체를 초기화 한다. 초기화를 나중에 하고 싶다면, <jsp:setProperty>를 <jsp:useBean> 밖에서 사용하면 된다.

* 즉, scope.setAttribute()를 실행하는 것과 같다.

2. <jsp:setProperty name="model" property="*" />
: form.html에서 넘겨준 parameter 이름과 useBean 객체의 setter 이름이 서로 대응할 경우  위 문장만으로도 model Bean 객체의 userId와 userPw에 form.html에서 입력한 parameter 값이 삽입된다.

property="userId" -> model.setUserId(userId);
property="userPw" -> model.setUserPw(userPw);

* parameter의 범주는 request 범주다.

3. <jsp:setProperty name="model" property="userId" />
: param 옵션을 주지 않아도 property에 대응하는 parameter 이름이 있을 경우 model Bean 객체의 userId에 form.html에서 입력한 userId의 값이 삽입된다.

4. <jsp:setProperty name="model" property="userId" param="userId" />
: property와 param 이름이 서로 대응하지 않을 경우 param 옵션을 적어주면 된다.

5. <jsp:setProperty name="model" property="userId" value="Test" />
: value 옵션을 주면 해당 값이 model Bean 객체의 userId에 삽입된다.

- 2 ~ 5 번 중 원하는 방법으로 <jsp:setProperty>를 사용하면 된다.



Comments