보라코딩

Day66_230331_ JSP (action tag, EL tag, useBean, setProperty) 본문

코딩/Servlet, JSP, MyBatis

Day66_230331_ JSP (action tag, EL tag, useBean, setProperty)

new 보라 2023. 3. 31. 17:06

보이나

action tag

 

 

액션태그로

jsp:include 사용할땐 JSP 사용하자!

 

 

 

 

 

 


 

forward

 

 

 

 

폼에서 첫번째 페이지로 파라미터를 전달했는데

첫번째 페이지에서 또 forward 이용해서 

두번째 페이지로 파라미터 전달한다. (요청 -> 첫번째 -> 두번째)

여기에 추가로 파라미터 또 넘길 수도 있다. (첫번째 -> 두번째)

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

userBean

변수로 scope 상에 저장을 한다.

 

여러방법 사용했으나 이게 핵심!

 


<jsp:useBean id="person" class="com.mystudy.PersonVO" scope="request"></jsp:useBean>
<jsp:setProperty property="*" name="person"/>

 

 

 

 

 

JSP에서 el 태그 사용하면 훨씬 편하다.

<%= %> 사용할 필요가 없음!

 

${ }

 

 

 


 

JSP - getParameter()와 getAttribute()의 차이점

단 가장 큰 차이점은 둘의 리턴 타입이다.

getParameter()메서드의 경우 String타입을 리턴하는반면,
getAttribute()는 Object 타입을 리턴하기 때문에 주로 빈 객체나 다른 클래스를 받아올때 사용된다.
 
또한, getParameter()는 웹브라우저에서 전송받은 request영역의 값을 읽어오고
getAttribute()의 경우 setAttribute()속성을 통한 설정이 없으면 무조건 null값을 리턴한다.
 
간단한 예를 들자면,
request.getParameter("num")은 웹브라우저에서 전송받은 request영역에서 name값이 "num"인것을 찾아 그 값을 읽어오는데
request.getAttribute("num")은 request.setAttribute("num", "123") 과 같이 setAttribute()를 통해 값을 설정해주지 않으면 null값을 리턴받게 된다.

 


 

bean과 el 태그 이용하 실습

ex04_useBean_Member.jsp

 

 

 

 

 

 

memberVO.java  (src 아래 파일 생성)

package com.mystudy;

import java.util.Arrays;

public class memberVO {
private String name, id, pwd, email, gender;
private String[] hobby;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}

@Override
public String toString() {
return "memberVO [name=" + name + ", id=" + id + ", pwd=" + pwd + ", email=" + email + ", gender=" + gender
+ ", hobby=" + Arrays.toString(hobby) + "]";
}
}

 

 

 

ex04_useBean_proc.jsp

 

 

 

 

요청

 

 

 

결과

 

 

 


자바 객체 생성해서

request.getParameter로도 가능하다.

 

 

hobby는 배열이기 때문에

getParameterValues로 가져와야한다.

 

 

배열이라 for문 사용해서 http에 표시했다.

 

 

 

 

 

 

객체를 EL사용하려면 page scope에 올려야한다.