본문 바로가기
Programming | Study/EL_JSTL

JSP Action

by jinju 2021. 6. 14.

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

댓글