에러나는 방식은 3가지가 있다

진짜 에러가 빡!! 나거나 

그냥 출력이 안되거나

0이 출력 되거나

에러들을 하나 씩 살펴보자

 

1.+를 숫자형식이 아닌 문자열에 적용 시(에러 빡!)

<ul class="list-unstyled">
	<li>\${'100'+100 }[정상] : ${'100'+100 } </li>
	<li>\${'백'+100 }[500에러] : ${'백'+100 } </li>
	<li>\${'HELLO'+'HI' }[500에러] : ${'HELLO'+'HI'} </li>
</ul>

 

2.  .인덱스번호  요런 형식으로 배열이나 리스트계열 컬렉션 요소에 접근 시(에러 빡!) 

<%
	String[] mountains={"설악산","소백산","비슬산","덕유산"}; //mountains[0]
	List collection = Arrays.asList(mountains);				
%>
<c:set var="mountains" value="<%=mountains %>"/>
<c:set var="collection" value="<%=collection %>"/>
\${mountains } : ${mountains } <br/>
\${collection } : ${collection } <br/>

<ul class="list-unstyled">
	<li>\${mountains[0]}[정상] : ${mountains[0] } <br/></li>
	<li>\${collection[0]}[정상] : ${collection[0] } <br/></li>
		<!-- getter규칙따른다고 . 하고 달랑 번호만 썼다간 에러 -->
	<li>\${mountains.0}[에러] : \${mountains.0 } <br/></li>
	<li>\${collection.0}[에러] : \${collection.0 } <br/></li> 		
</ul>

 

3.배열이나 리스트계열 컬렉션에 인덱스를 벗어난경우(에러는 안나지만 출력이 안됨)

<h4>배열이나 리스트계열 컬렉션에 인덱스를 벗어난경우(에러는 안나지만 출력이 안됨)</h4>
<ul class="list-unstyled">
	<li>\${mountains[100]} : ${mountains[100] } <br/></li>
	<li>\${mountains[100]==null} : ${mountains[100]==null}<br/></li>
	<li>\${collection[100]}:${collection[100]} <br/></li>
	<li>\${collection[100]==null}:${collection[100]==null}<br/></li>			
</ul>

4.없는 속성이거나 속성은 존재하지만 게터가 없는경우(에러-자바빈의 경우)

<h4>없는 속성이거나 속성은 존재하지만 게터가 없는경우(에러-자바빈의 경우)</h4>
<c:set var="member" value='<%= new MemberDTO("KIM","1234","김길동","20")%>' />
<ul class="list-unstyled">
	<li>없는 속성 접근[propertyNotFoundE 에러] : \${member.addr} </li>
	<li>속성은 존재,게터가 없는경우(memberDAO의 getter를 주석처리하고 시도해야 에러 남) : ${member.name}
	<li>EL변수명이 틀린경우(에러는 아니나 출력이안됨) : \${membar.id }</li>			
</ul>

 

5.el 내장객체의 없는 속성으로 접근 시

: EL의 내장객체  중 사용자가 정의한 속성에 접근하는 
내장객체(xxxScope계열/param계열등) 및 맵 컬렉션인 경우, 
존재하지 않은 속성이나 키값으로 접근시 null임으로 에러는 안나고 출력만 안됨

<c:set var="myrequest" value="리퀘스트영역" scope="request"/>
<%
	Map map = new HashMap();
	map.put("mymap","맵 컬렉션");			
%>
<c:set var="map" value="<%=map %>" />
<ul class="list-unstyled">
	<li>\${requestScope.myrequest} : ${requestScope.myrequest}</li>
	<li>\${requestScope.yourrequest} : ${requestScope.yourrequest}</li>
	<li>\${map.mymap} : ${map.mymap}</li>
	<li>\${map.yourmap} : ${map.yourmap}</li>
	<li>\${pageContext.noproperty} [.propertyNotFoundE 에러] : \${pageContext.noproperty} </li>
</ul>

 

6. 0으로 나누기/ 임의의 변수에 접근

<h4>숫자를 0으로 나누면 Infinity</h4>
	\${100/0} : ${100/0}
		
<h4>임의의 변수로 .을 통해서 접근 시-에러no, 출력no</h4>
	\${myvar } : ${myvar }<br/>
	\${myvar==null } : ${myvar==null }<br/>
	\${myvar.age } : ${myvar.age }<br/>

+ Recent posts