웹 복습(8)

넙데데맨·2022년 5월 30일
0

표현 언어

자바 코드가 들어가는 표현식을 좀 더 편리하게 사용하기 위한 데이터 출력 기능
자바 코드 사용을 지양하기 위함
${표현식 or 값}

특징

  • 사용 위해 JSP 파일의 페이지 디렉티브 태그의isELIgnored 속성 false로 설정

내장 객체

표현식 안에서 사용할 수 있는 내장 객체

param

getParemeter() 없이 매개변수 전달 받음

requestScope

포워딩 시 바인딩된 객체 참조

pageContext

pageContext 객체를 사용하는 것 처럼 사용 가능

<a> 태그 사용해 다른 서블릿, JSP 요청 방법

<%-- 컨텍스트 이름 직접 입력  --%>
<%-- 컨텍스트 이름 변경 시 일일이 수정  --%>
<a href="/pro/test/memberForm.jsp">회원</a>
<%-- 컨텍스트 이름 가져오기  --%>
<%-- 자바 코드 사용  --%>
<a href="<%=request.getContextPath()%>"//test/memberForm.jsp>회원</a>

pageContext 객체 사용

<a href="${pageContext.request.contextPath}/test/memberForm.jsp">회원</a>
<%-- 자바 코드를 사용하지 않음  --%>

빈 사용

${빈이름.속성이름}

<jsp:useBean id="bean" class="sec.ex.MemberBean">
${bean.name}

Collection 객체 사용

${Collection객체명[index].속성이름}

<jsp:useBean id="memList" class="java.util.ArrayList">
${memList[0].name}

바인딩 속성 출력

바인딩된 객체의 속성 이름만으로 회원정보 출력 가능
doc1.jsp

<%
	request.setAttribute("id","hong");
	session.setAttribute("pwd","1234");
	application.setAttribute("name","홍길동");
    MemberBean member = new MemberBean("lee","1234","이순신");
    request.setAttribute("member",member);
%>
<jsp:forward page="doc2.jsp" />

doc2.jsp

	${id}
    ${pwd}
    ${name}
    ${member.id}
    ${member.pwd}
    ${member.name}

으로 접근 시 정상적으로 출력이 가능

스코프 우선순위

각자 다른 내장객체에 바인딩 시 같은 속성의 이름이 있을 경우 표현 언어 내에서 같은 속성에 대한 우선순위는 다음과 같다.
page > request > session > application

profile
차근차근

0개의 댓글