Version 1.0
문서 이력
2013-06-11 최초 작성 Ver 1.0
WebSphere 6.1 에서 아래와 같이 JSP 상에 for each 문을 사용하게 될 경우 에러가 발생하며 for each 문이 동작하지 않습니다.
예제로 아래와 같이 ArrayList 를 for each 문으로 페이지에 출력해 보겠습니다.
<예제 소스>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <%@page import="java.util.ArrayList" %> <html> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <meta name="GENERATOR" content="Rational Application Developer"> </head> <body> <% ArrayList<String> list = new ArrayList<String>(); list.add("test1"); list.add("test2"); list.add("test3");
for (String item : list) { out.println(item + "<br>"); } %> </body> </html>
|
<에러 메시지>
위 에러 메시지를 보시면 only available if source level is 5.0 이라는 종류의 에러가 발생하고 있습니다.
Java Bean 에서 for each 문을 사용하는 것은 문제가 되지 않지만 JSP 상에서 사용하게 될 경우 JSP 의 JDK source level 이 JDK 1.5 가 아닌 JDK 1.3 을 기본적으로 사용하여 컴파일되게 되어있어 발생한다고 합니다. 따라서 JDK 1.5 를 사용하여 컴파일 하도록 지정해줘야 하는데 이는 아래와 같은 방법으로 설정할 수 있습니다.
1. 해당 어플리케이션의 웹 배치 설명자 화면의 확장 탭을 엽니다.
2. 확장 화면 하단 JSP 속성에서 아래 그림과 같이 jdkSourceLevel 속성을 추가하고 15란 값을 지정합니다.
WebSphere 내부적으로 jdkSourceLevel 이 13 으로 되어 있기 때문에 명시적으로 15를 사용하도록 지정해주는 것입니다.
위와 같이 JSP 속성 추가 후 저장을 하게 되면 ibm-web-ext.xmi 에 JSP 속성 코드가 추가됩니다. 따라서 위와 같이 화면에서 추가하지 않고 ibm-web-ext.xmi 파일에 아래와 같이 빨간 부분을 수동으로 추가해 줘도 됩니다.
<?xml version="1.0" encoding="UTF-8"?> <webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" xmi:id="WebAppExtension_1362703751342" reloadInterval="3" reloadingEnabled="true" additionalClassPath="" fileServingEnabled="true" directoryBrowsingEnabled="false" serveServletsByClassnameEnabled="true" preCompileJSPs="false"> <webApp href="WEB-INF/web.xml#WebApp_ID"/> <jspAttributes xmi:id="JSPAttribute_1" name="jdkSourceLevel" value="15"/> </webappext:WebAppExtension>
|
3. 웹 배치 설명자를 저장하고 해당 어플리케이션을 재배포한 후 JSP 파일을 실행해 봅니다.
<화면>
위 화면과 같이 정상적으로 for each 문이 동작하여 ArrayList 에 있는 문자열들을 화면에 출력했습니다.
'웹 > WebSphere' 카테고리의 다른 글
[v6.1] 한글 온라인 문서 링크 (0) | 2013.04.30 |
---|---|
[v6.1] Address Already in use : NET_Bind 에러가 날 경우 (0) | 2013.04.30 |
[v6.1] Quartz 사용 시 JNDI 동작 안 하는 문제 (0) | 2013.04.30 |
RAD툴을 이용한 WebSphere v6.1 에서 JNDI 데이터소스 설정 및 사용하기 (0) | 2013.03.27 |