자바빈 액션태그는 <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 |