7. EL 활용 - 회원 정보 페이지
EL을 JSP 페이지에 적용해본다. 회원 정보 페이지 MemberUpdateForm.jsp는 UI를 생성할 때, 컨트롤러가 작업한 결과물을 request에서 꺼내 쓴다. 이 request에서 값을 꺼내는 부분을 EL로 대체한다.
MemberUpdateForm.jsp에서 <jsp:useBean>과 JSP 표현식 <%= %> 태그를 제거하고 EL 표기법으로 바꾼다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- <jsp:useBean id="member"
scope="request"
class="spms.vo.Member"/> -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>회원정보</title>
</head>
<body>
<h1>회원정보</h1>
<form action='update' method='post'>
<!-- 번호: <input type='text' name='no' value='<%=member.getNo()%>' readonly><br>
이름: <input type='text' name='name' value='<%=member.getName()%>'><br>
이메일: <input type='text' name='email' value='<%=member.getEmail()%>'><br>
가입일: <%=member.getCreatedDate()%><br>
<input type='submit' value='저장'>
<input type='button' value='삭제' onclick='location.href="delete?no=<%=member.getNo()%>";'>
<input type='button' value='취소' onclick='location.href="list"'> -->
번호: <input type='text' name='no' value='${member.no}' readonly><br>
이름: <input type='text' name='name' value='${requestScope.member.name}'><br>
이메일: <input type='text' name='email' value='${member.email}'><br>
가입일: ${member.createdDate}<br>
<input type='submit' value='저장'>
<input type='button' value='삭제' onclick='location.href="delete?no=${member.no}";'>
<input type='button' value='취소' onclick='location.href="list"'>
</form>
</body>
</html>
EL을 사용하면 객체를 꺼내고자 <jsp:useBean> 액션 태그를 사용할 필요가 없고, <%=member.getNo()%>와 같은 표현식 태그보다 훨씬 간결하게 표현할 수 있다.
- 객체 범위 명시하기
MemberUpdateForm.jsp에서는 request 보관소에 'member'라는 이름으로 저장된 객체를 꺼내고자 ${member.프로퍼티명}으로 표현하였다. 만약 page 보관소에도 같은 이름의 객체가 있다면 순서상 page에 보관된 객체가 사용된다. 이 문제는 보관소 범위를 정확히 지정하면 해결된다.
이름: <input type='text' name='name' value='${requestScope.member.name}'><br>
회원 목록을 출력하는 MemberList.jsp도 EL을 사용하면 간결하게 바꿀 수 있으나, 자바 코드로 작성된 반복문을 없애려면 JSTL을 알아야 한다.
참고도서 : https://freelec.co.kr/book/1674/
[열혈강의] 자바 웹 개발 워크북
[열혈강의] 자바 웹 개발 워크북
freelec.co.kr
'교재 실습 > 자바 웹 개발 워크북' 카테고리의 다른 글
57. JSTL 사용하기 (2) (0) | 2022.06.29 |
---|---|
56. JSTL 사용하기 (1) (0) | 2022.06.28 |
54. EL 사용하기 (3) (0) | 2022.06.26 |
53. EL 사용하기 (2) (0) | 2022.06.25 |
52. EL 사용하기 (1) (0) | 2022.06.23 |
댓글