JSP Action
XML기술을 이용하여 기존의 JSP문법을 확장하는 매커니즘을 제공하는 태그 웹 브라우저에서 실행되는 것이 아니라 웹 컨테이너에서 실행되고 결과만 브라우저로 보냄
표준액션태그
jsp : include -> 외부의 페이지를 불러와 사용하는 태그 <%@include %>태그와 비슷함
사용법 : <jsp:include page ="페이지명.jsp"/>
jsp : userbean -> Java Bean객체를 사용하기 위한 태그로 JSP에서 사용하는 VO, DTO, Entity와 동일
<jsp:useBean id=“객체 명“ class=“패키지 명. 클래스 명“ scope=“범위 지정자“/>
<jsp : usebean>활용하기
1) servlet에서 보낸 객체 가져오기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>usebean이용하기</title>
</head>
<body>
<h3>서블릿에서 보낸 객체가져오기</h3>
<jsp:useBean id="person" class="com.jspaction.model.vo.Person" scope="request"/>
이름 : <jsp:getProperty name="person" property="name"/>
나이 : <jsp:getProperty name="person" property="age"/>
주소 : <jsp:getProperty name="person" property="addr"/>
</body>
</html>
서블릿
@WebServlet("/useBeanTest")
public class UseBeanControllerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UseBeanControllerServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Person p = new Person();
p.setName("김자바");
p.setAge(20);
p.setAddr("서울특별시");
request.setAttribute("person", p);
request.getRequestDispatcher("/views/useBeanTest.jsp")
.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
model.vo 객체
public class Person {
private String name;
private int age;
private String addr;
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String name, int age, String addr) {
super();
this.name = name;
this.age = age;
this.addr = addr;
}
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;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
}
2) userBean 객체 바로 넣기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>usebean이용하기</title>
</head>
<body>
<h3>useBean으로 기본생성된 객체에 데이터 넣기</h3>
<jsp:setProperty name="person" property="name" value="김코딩"/>
<jsp:setProperty name="person" property="age" value="22"/>
<jsp:setProperty name="person" property="addr" value="경기도"/>
이름 : <jsp:getProperty name="person" property="name"/>
나이 : <jsp:getProperty name="person" property="age"/>
주소 : <jsp:getProperty name="person" property="addr"/>
</body>
</html>
3) 파라미터로 보낸값을 useBean객체에 바로 대입하기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>usebean이용하기</title>
</head>
<body>
<h3>파라미터로 보낸값을 useBean객체에 바로 대입하기</h3>
<form action="<%=request.getContextPath() %>/views/useBeanTest.jsp">
이름 : <input type="text" name="name"> <br>
나이 : <input type="text" name="age"><br>
주소 : <input type="text" name="addr"><br>
<input type="submit" value="전송"/>
</form>
<jsp:useBean id="p" class="com.jspaction.model.vo.Person"/>
<jsp:setProperty property="name" name="p" param="name"/>
<jsp:setProperty property="age" name="p" param="age"/>
이름 : <jsp:getProperty name="p" property="name"/>
나이 : <jsp:getProperty name="p" property="age"/>
주소 : <jsp:getProperty name="p" property="addr"/>
</body>
</html>
전송 누르면 오른쪽 결과로 확인 할 수 있다.
jsp : forward -> jsp페이지를 다른 페이지로 이동시키는 태그, 이동시킬때 parameter값을 전송할 수 있음
'Programming | Study > EL_JSTL' 카테고리의 다른 글
[JSTL] foreach문 (0) | 2021.06.22 |
---|---|
[JSTL ] choose문 (0) | 2021.06.22 |
[JSTL] if문 (0) | 2021.06.22 |
JSTL 기본 표현식 이용하기 (0) | 2021.06.22 |
EL 기본 표현식 활용하기 (0) | 2021.06.14 |
댓글