개발자/JSP

JSP에서 자바빈을 사용하기 위한 액션태그

푸루닉 2022. 11. 24. 17:29

자바빈 액션태그는 <jsp:useBean>, <jsp:getProperty>, <jsp:setProperty> 3가지가 있다.

 

1. <Jsp:useBean>

 

<jsp:useBean id="이름" class="자바빈 클래스 이름" scope="범위"/>

 

  • 태그의 속성
    • id : JSP페이지에서 자바빈 객체에 접근할 때 사용하는 이름이다
    • class : 패키지 이름을 포함한 자바빈 클래스의 완전한 이름을 입력
    • scope : 자바빈 객체가 저장될 영역을 지정. page, request, session, application 중 하나를 값으로 가지며 기본값은 page이다.

2. <jsp:setProperty>

 

<jsp:setProperty name="자바빈(use의 id)" property="이름" value="값">

 

  • 태그의 속성
    • name : 프로퍼티 값을 변경할 자바빈 객체의 이름. <jsp:useBean> 액션 태그의 id 속성에서 지정한 값을 사용
    • property : 값을 지정할 프로퍼티의 이름
    • value : 프로퍼티 값. 표현식 사용가능
  • property 속성의 값을 *로 지정할 수 있다. 이 경우 각각의 프로퍼티의 값을 같은 이름을 갖는 파라미터의 값으로 설정.

 

3. <jsp:getProperty>

 

<jsp:getProperty name="자바빈" property="이름" />

 

  • 태그의 속성
    • name : <jsp:useBean> 액션 태그의 id 속성에서 지정한 값을 사용
    • property : 값을 가져올 프로퍼티의 이름

 

<아래는 자바빈을 활용한 예제이다>

<body>

<h1>jsp:useBean (액션태그)</h1>
<hr>

<form action="ex04-result.jsp">
	<p><input type="text" name="name" placeholder="메뉴 이름" required autofocus></p>
	<p><input type="number" name="price" placeholder="메뉴 가격" required></p>
	<p><input type="submit"></p>
</form>

</body>
</html>
<body>

<%--
		입력되는 파라미터들을 이용하여 하나의 객체를 구성하려면
		[자바 빈즈]를 활용하여 파라미터를 받고, 곧바로 객체 형태로 구성할 수 있다
		
		이때 사용되는 문법은 액션태그 형식을 활용한다
		액션태그 : 형식은 태그이지만, 자바코드가 수행되는 특수한 태그 (xml기반의 태그)
				 JSP에서 java를 모르는 사람도 기능을 사용할 수 있도록 만들어졌다
 --%>
 
<jsp:useBean id="user" class="ex04.Menu"  />
<%--
		Menu user = new Menu();	// 기본생정자를 호출하여 user라는 변수에 저장
 --%>
<jsp:setProperty property="*" name="user" />
<%--
		user.setName(request.getParameter("name"));						// String name;
		user.setPrice(Integer.parseInt(request.getParameter("price")));	// int price;
 --%>

<fieldset>
	<ul>
		<li>메뉴 이름 : <%=user.getName() %></li>
		<li>메뉴 가격 : <%=user.getPrice() %></li>
	</ul>
</fieldset>
<%!
	ArrayList<Menu> list = new ArrayList<Menu>();
%>

<%
	list.add(user);
%>

<p><a href="ex04-form.jsp"><button>돌아가기</button></a></p>
<ol>
	<%-- 스크립틀릿은 나누어서 적어도, 서블릿으로 변환되면서 하나로 합쳐진다 --%>
	<%	for(int i = 0; i < list.size(); i++) { %>
	
	<li><%=list.get(i).getName() %> , <%=list.get(i).getPrice() %>원</li>
	
	<%	} %>
</ol>

</body>
</html>

 

'개발자 > JSP' 카테고리의 다른 글

[JSP] 쿠키(Cookie)  (0) 2022.12.02
[JSP]Attribute 속성 활용  (0) 2022.11.28
JSP 자바빈(JavaBean)  (0) 2022.11.24
JSP란?  (0) 2022.11.24
HTTP 중요 요청 메서드와 응답 코드  (0) 2022.11.24