JavaServer Faces 및 ODC 도구 릴리스 정보

© Copyright International Business Machines Corporation 2006. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.

릴리스 정보

1.0 제한사항
   1.1 사용되지 않는 Faces 클라이언트 컴포넌트 및 클라이언트 데이터
   1.2 테스트용 V7 JSF 응용프로그램 이주
   1.3 WDO에서 SDO로 이동 시 트리 수정
   1.4 hx:commandExButton이 이제 이미지를 올바르게 렌더링함
2.0 알려진 문제점 및 해결 방법
   2.1 jspPanel 태그 속성 style 및 styleClass가 더 이상 사용 가능하지 않음
   2.2 프로젝트 가져오기 수행 중 부정확한 경고 대화 상자 표시
   2.3 페이지당 복수의 클라이언트 데이터 모델
   2.4 V7.0+ 클라이언트 데이터를 사용하는 포틀렛 빌드
   2.5 백분율 높이를 갖는 탭된 패널
   2.6 strict 모드의 탭된 패널 탭
   2.7 hx:convertDateTime이 아랍어 달력에서 제대로 작동하지 않음
   2.8 WebSphere 런타임을 대상으로 지정할 때 WebSphere 프로젝트 패싯 선택 확인
   2.9 loose.dtd 및 백분율 너비 열 사용 시 JWL DataTable 열 정렬이 올바르지 않음
   2.10 hx:panelDialog에서 위치 지정에 사용된 기본 태그를 화면 이동할 때 "상대" 위치 지정이 작동하지 않을 수도 있음
   2.11 행 선택이 사용 가능한 데이터 테이블을 AJAX가 사용 가능한 패널에 삽입할 수 없음
   2.12 대상의 패널 ID가 소스 페이지의 패널 ID와 일치하지 않을 경우 ajaxExternalRequest가 IE에서 제대로 작동하지 않을 수도 있음
   2.13 hx:ajaxRefreshRequest의 inProgresss 속성 및 기타 AJAX 태그가 작동하지 않음
   2.14 hxinputHelperTypeahead에서 공백 문자, 백분율 기호 및 앰퍼샌드를 포함하는 값에 대한 조회를 제대로 처리하지 않음
   2.15 hx:panelDialog가 Firefox 버전 1.5.0.8 이상에서 올바르게 위치 지정되지 않을 수도 있음
   2.16 styleClass가 "pagerDeluxe"가 아닐 경우 hx:pagerDeluxe가 올바르게 렌더링되지 않음

1.0 제한사항

1.1 사용되지 않는 Faces 클라이언트 컴포넌트 및 클라이언트 데이터

다음은 사용되지 않으며 사용을 권장하지도 않습니다.

<odc:tree> 트리 및 <odc:graphDraw> 차트에서는 서버 데이터 사용이 가능합니다.

1.2 테스트용 V7 JSF 응용프로그램 이주

JSF JARS를 이주하지 않고 테스트용 V7 JSF 응용프로그램을 가져와서 응용프로그램을 개발하는 경우 V7에 있는 새 태그는 프로젝트 JAR에 포함되지 않으며 런타임에서 사용 불가능합니다. 테스트용 V7 JAR을 이주하십시오.

1.3 WDO에서 SDO로 이동 시 트리 수정

<odc:treeNodeAttr> 트리 제어 태그는 SDO 데이터 값에서 WDO 데이터로 바인드될 때 해당 className 속성에 대한 서로 다른 값을 사용합니다. WDO(예: WebSphere® Application Server 5.1)를 사용하는 서버에서 SDO(예: WebSphere Application Server 6.1)를 사용하는 서버로 프로젝트를 이주한 후, 이를 수정하기 위한 가장 손쉬운 방법은 트리 제어를 삭제한 후 다시 작성하는 것입니다.  

1.4 hx:commandExButton이 이제 이미지를 올바르게 렌더링함

 v6.0에서는 <hx:commandExButton> 유형이 Submit로 설정되고 레이블과 단일 배경 이미지(예: value="submit" image="button.gif")를 포함할 경우, 이미지만(이미지와 레이블이 아닌) 렌더링되었습니다. 이 문제점이 v7.0에서 수정되었습니다. 수정되었다는 뜻은 레이블과 단일 배경 이미지를 모두 포함하는 단추가 v7.0에서 v6.0에서와 다르게 렌더링됨을 의미합니다.

마찬가지로 <hx:commandExButton> 유형이 Reset으로 설정되고 단일 배경 이미지(또는 배경 이미지와 레이블)을 포함할 경우, 이미지만이 렌더링되며 단추는 제출 단추로 취급되었습니다(단추 유형이 무시됨). 이 문제점이 v7.0에서 수정되었습니다. 수정되었다는 뜻은 유형이 Reset으로 설정된 단추가 이제 페이지를 제출하는 대신 재설정함을 의미합니다.

2.0 알려진 문제점 및 해결 방법

2.1 jspPanel 태그 속성 style 및 styleClass가 더 이상 사용 가능하지 않음

<jspPanel> 태그 속성 stylestyleClass를 더 이상 사용할 수 없습니다. 속성은 JSP 패널 컴포넌트 렌더링에 사용되지 않습니다.

이 제품의 이전 버전에서 작성된 JSF 응용프로그램을 가져오는 경우 <jspPanel> 태그에 오류가 표시됩니다. 오류를 해결하려면 소스 보기에서 JSP 소스를 편집하여 프로젝트의 모든 <jspPanel> 태그에서 stylestyleClass 속성을 제거하십시오.

2.2 프로젝트 가져오기 수행 중 부정확한 경고 대화 상자 표시

프로젝트를 이전 제품 버전을 사용하여 작성된 작업공간으로 가져올 경우, Faces 지원이 설치되었지만 프로젝트에 대해 대상 런타임을 선택하지 않았음을 알리는 대화 상자가 표시될 수도 있습니다. 때때로 이 경고는 정확하지 않으며 이주 프로세스 완료 후 런타임이 올바르게 정의됩니다.  런타임이 설정되었는지 확인하려면 프로젝트 > 특성을 마우스 오른쪽 단추로 클릭한 후 대상 런타임을 선택하십시오. 정의된 서버 옆에 선택란이 표시되고 추가 조치가 필요하지 않을 경우, 서버 중 하나를 선택하십시오.

2.3 페이지당 복수의 클라이언트 데이터 모델

참고: 이 해결 방법은 클라이어트 데이터 모델이 동일한 페이지 데이터 노드 또는 동일한 이름의 페이지 데이터 노드에서 작성되었을 때 필요하지 않습니다.

v7.0에서 페이지에 동일한 Bean 클래스에서 작성된 복수의 클라이언트 데이터 모델이 존재할 경우, 생성 시(또는 재생성 시) 두 번째 모델에 대해 두 번째 ecore 및 emap 파일이 오류로 작성됩니다. 이주 지침에 따라 클라이언트 데이터 프로젝트를 이주할 때, 둘 이상의 클라이언트 데이터 모델을 포함하는 페이지가 있는 이주된 프로젝트에 영향을 미치려면 클라이언트 데이터 모델을 재생성해야 합니다. 간단한 시나리오는 다음과 같습니다.

  1. java.util.Date Bean을 기반으로 하는 두 개의 페이지 데이터를 작성하십시오(예: myDate1myDate2).
  2. 각각의 페이지 데이터에 대해 다음과 같은 순서로 동일한 이름의 클라이언트 데이터 모델을 작성하십시오. myDate1 다음 myDate2.

해결 방법: 두 모델에 대해 작업하는 페이지를 가져오려면 myDate2.ecoremyDate2.emap를 com.ibm.dynwdo4jsmediators 패키지와 OdysseyBrowserFramework.properties 파일의 해당하는 항목에서 삭제하십시오.

2.4 V7.0+ 클라이언트 데이터를 사용하는 포틀렛 빌드

클라이언트 데이터는 대량의 JavaScript를 페이지에 출력합니다. 이전 릴리스에서 JavaScript는 인코드되지 않았으며, 이는 동일한 페이지 데이터 소스를 갖는 복수의 포틀렛에서 클라이언트 데이터를 사용할 경우, 페이지에 대한 JavaScript 출력이 모든 포틀렛에서 동일함을 의미합니다.

두 개의 포틀렛이 클라이언트 데이터에 바인드되는 이러한 동작은 동일한 클라이언트 데이터 오브젝트를 바인드하는 것처럼 보일 수 있습니다(두 번째 JavaScript 섹션이 첫 번째 섹션을 대체하므로). 따라서 두 개의 포틀렛이 상호 작용할 수 있으며, 한 포틀렛의 변경사항이 양쪽에 표시됩니다.

이러한 조건은 서로 독립적으로 작동하는 클라이언트 데이터를 사용하는 페이지에 복수의 포틀렛이 있을 경우 문제가 됩니다. 서로 다른 페이지 데이터 소스를 갖는 동일한 페이지에 클라이언트 데이터를 사용하는 두 개의 포틀렛이 있을 때 JavaScript 오류가 발생합니다. 이로 인하여 포틀렛 중 하나가 렌더링되지 않을 수도 있습니다.

이러한 문제점을 해결하고 클라이언트 데이터 포틀렛을 WSRP에서 실행하려면 각각의 포틀렛에 대해 고유하도록 클라이언트 데이터 Javascript 변수를 인코딩해야 합니다. 이를 사용하여 클라이언트 데이터 Javascript 섹션이 서로 독립적으로 작동할 수 있습니다.

V7.0에서는 모든 클라이언트 데이터가 인코딩됩니다.

페이지에서 포틀렛 간에 클라이언트 데이터를 공유하려는 경우, 다음과 같은 컨텍스트 매개변수를 사용하여 web.xml을 갱신해야 합니다.

    <context-param>
        <param-name>com.ibm.faces.ENCODE_DATA</param-name>
        <param-value>false</param-value>
        <description></description>
    </context-param>

<param-value>를 false로 설정하여 클라이언트 데이터 인코딩을 제거합니다.

페이지 데이터를 사용하여 차트 및 데이터 트리 컴포넌트에서 Encode_Data 매개변수 및 해당 효과 적용

차트 및 데이터 트리는 XML 데이터 오브젝트를 페이지에 삽입하여 페이지 데이터를 사용합니다. 차트 및 데이터 트리에 대한 페이지 데이터는 해당 컴포넌트의 클라이언트 데이터에 매우 근접하게 링크됩니다. 기본적으로 이 데이터는 인코딩됩니다. 일반적으로 클라이언트 데이터 인코딩을 제거하는 데 사용되는 web.xml 파일에 표시된 <context-param>를 설정할 경우, 또한 차트 및 데이터 트리에 대한 페이지 데이터 인코딩이 제거됩니다. 페이지 데이터를 사용하는 다른 컴포넌트는 영향을 받지 않습니다. 페이지 데이터를 인코딩하지 않을 경우 차트 또는 데이터 트리를 둘 다 포함하는 두 개의 포틀렛이 페이지에 존재하므로, 문제점이 발생할 수도 있습니다. 이러한 오류에는 Javascript 오류 및/또는 포틀렛 중 하나가 제대로 표시되지 않는 오류가 포함됩니다.

페이지의 두 포틀렛을 서로 독립적으로 실행하고 WSRP 지원을 사용 가능하게 하는 해당 데이터를 인코딩하는 클라이언트 데이터에 대해, 다음 <context-param>를 web.xml에서 제거하거나 또는 <param-value>를 true로 설정해야 합니다.

    <context-param>
        <param-name>com.ibm.faces.ENCODE_DATA</param-name>
        <param-value>true</param-value>
        <description></description>
    </context-param> 

2.5 백분율 높이를 갖는 탭된 패널

이 패널은 페이지 상단에 다음과 같은 정보를 포함합니다.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

이 정보는 웹 브라우저를 표준 모드로 설정합니다. 표준 모드에서 HTMLbody 요소는 쿼크(quirks) 모드(기본 HTML 모드)에서 발생할 때 창을 채우는 대신 해당 컨텐츠로 스냅핑됩니다.

탭된 패널이 높이가 백분율로 설정된 독립된 페이지에 배치될 경우, 분할창 높이에 표시 문제가 발생합니다.

이를 수정하려면 높이가 설정된 컨테이너에 탭된 패널을 배치하거나 또는 페이지 상단에 있는 doctype을 다음과 같이 변경하십시오.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

2.6 strict 모드의 탭된 패널 탭

doctype이 다음과 같이 설정된 표준 모드의 탭에는 표시 문제점이 있습니다.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

doctype을 다음과 같이 변경하여 이를 수정합니다.

     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

2.7 hx:convertDateTime이 아랍어 달력에서 제대로 작동하지 않음

달력 유형이 Arabic으로 설정된 경우 <hx:convertDateTime> 태그가 올바른 JavaScript를 생성하지 않습니다.  따라서 클라이언트측 유효성 검증, 입력 프롬프트, 날짜 선택 헬퍼 및 미니 달력이 제대로 작동하지 않게 됩니다. 생성된 JavaScript를 초기화할 때 오류가 표시됩니다(또는 컴포넌트가 제대로 작동하지 않음).

해결 방법: 클라이언트측 유효성 검증 또는 프롬프트를 설정하지 마십시오. 아랍어 달력이 변환기에서 사용될 경우 날짜 선택 헬퍼를 설정하지 마십시오.

2.8 WebSphere® 런타임을 대상으로 지정할 때 WebSphere 프로젝트 패싯 선택 확인

WebSphere® 서버 런타임을 대상으로 지정할 때 WebSphere 웹(공존) 프로젝트 패싯이 웹 프로젝트에 대해 선택되었는지 확인하십시오.  

해결 방법: 프로젝트 작성 시 동적 웹 프로젝트 마법사의 두 번째 페이지에서 패싯을 선택하거나 프로젝트가 존재하는 경우에는 프로젝트 특성 대화 상자의 프로젝트 패싯 페이지에서 패싯을 선택하십시오. WebSphere 서버를 대상으로 하는 웹 프로젝트를 작성할 때 "Faces 프로젝트" 또는 "XDoclet을 갖춘 동적 웹 프로젝트"를 프로젝트 마법사의 첫 번째 페이지에 있는 구성 드롭 다운 목록에서 선택할 경우, WebSphere 웹(공존) 패싯이 자동으로 선택되지 않습니다.  계속해서 마법사의 다음 페이지로 이동하여 해당 패싯을 선택할 수 있습니다. 구성 목록에서 "<사용자 정의>"를 선택할 경우, WebSphere 런타임을 대상으로 지정할 때 패싯이 제대로 선택됩니다.

2.9 loose.dtd 및 백분율 너비 열 사용 시 JWL DataTable 열 정렬이 올바르지 않음

<hx:dataTableEx> 내에서 <hx:columnEx>를 사용 중이고 수직 화면 이동이 사용 가능하면(scrollSize가 설정됨) 테이블의 하나 이상의 열이 백분율 기반 너비로 설정된 경우, 페이지의 doctype을 브라우저에서 W3C 표준(대 W3C transitional)으로 해석할 때 렌더링된 테이블에서 열 헤더 및 열 컨텐츠가 서로 정렬되지 않을 수도 있습니다. 예를 들어, doctype이 loose.dtd 선언을 포함할 경우 이러한 문제가 발생합니다.
해결 방법: 열 너비를 고정시키거나(백분율을 기반으로 하지 않도록) 또는 doctype이 transitional doctype인지 확인하십시오(예: loose.dtd 선언 제거).

2.10 hx:panelDialog에서 위치 지정에 사용된 기본 태그를 화면 이동할 때 "상대" 위치 지정이 작동하지 않을 수도 있음

<hx:panelDialog>에서 위치 지정(수평 또는 수직)이 relative로 설정되고 태그가 화면에 표시될 수 있도록 화면 이동된 페이지에 위치하며 페이지가 맨 위로 화면 이동되지 않은 경우, 대화 상자를 표시할 때 잘못 위치 지정될 수도 있습니다(일반적으로 너무 맨 위로 위치 지정되거나 또는 너무 왼쪽으로 위치 지정됨).

해결 방법: 상대 위치 지정이 필요한 경우, 기본 태그가 페이지 상단 근처에 위치하는지 확인하십시오.  또다른 방법으로 기타 위치 지정 유형 중 하나를 사용하십시오.

2.11 행 선택사항이 사용 가능한 데이터 테이블을 AJAX가 사용 가능한 패널에 삽입할 수 없음

데이터 테이블(<h:dataTable> 또는 <hx:dataTableEx>)이 AJAX가 사용 가능하여 행 선택이 가능한 패널에 위치할 경우(<hx:inputRowSelect>가 테이블에 포함됨), 테이블이 AJAX를 통해 다시 페치될 때 선택된 열의 선택란이 제대로 작동하지 않습니다. 처음으로 렌더링된 때에만 올바르게 작동합니다.

해결 방법: 해당 문제점에 대한 해결 방법이 현재 존재하지 않습니다. AJAX가 사용 가능한 패널에 테이블을 삽입하지 마십시오.

2.12 대상의 패널 ID가 소스 페이지의 패널 ID와 일치하지 않을 경우 ajaxExternalRequest가 IE에서 제대로 작동하지 않을 수도 있음

대상 페이지에서 검색할 패널의 ID를 지정하는 데 소스 페이지에서 <hx:ajaxExternalRequest>가 첨부될 패널의 ID와 다른 소스 속성이 사용될 경우, Internet Explorer(IE)에서 <hx:ajaxExternalRequest>가 제대로 작동하지 않을 수 있습니다. 예를 들어, <hx:panel id="panel1"><hx:ajaxExternalRequest  source="panel999" /><hx:panel>. 이 문제점은 IE에서만 발생하며 대상 패널이 눈금, 상자 또는 레이아웃(HTML 테이블로 렌더링되는 패널)일 경우에만 발생합니다.

해결 방법: ID가 동일한지 확인하거나 또는 panelGroup의 대상 패널을 랩핑하십시오.

2.13 hx:ajaxRefreshRequest의 inProgresss 속성 및 기타 AJAX 태그가 작동하지 않음

<hx:ajaxRefreshRequest>, <hx:ajaxRefreshSubmit>, <hx:ajaxExternalRequest><hx:inputHelperTypeahead>에 대한 inProgresss 속성이 작동하지 않습니다. 이 속성에 값을 설정할 경우 유효하지 않습니다. 차후 릴리스와의 호환성을 보장하려면 값을 설정하지 마십시오.

2.14 hxinputHelperTypeahead에서 공백 문자, 백분율 기호 및 앰퍼샌드를 포함하는 값에 대한 조회를 제대로 처리하지 않음

<hx:inputHelperTypeahead>를 입력 필드에 첨부할 때 공백 문자 및/또는 앰퍼샌드 및 백분율과 같은 구둣점 문자를 필드에 입력할 경우, 구성되는 제안사항 목록에 해당 문자를 포함하는 모든 "일치사항"이 포함되지 않습니다. 예를 들어, 사용자가 %를 입력할 경우, 사용 중인 "사전"에 %로 시작하는 단어와 일치하는 내용이 리턴되지 않습니다.

2.15 hx:panelDialog가 Firefox 버전 1.5.0.8 이상에서 올바르게 위치 지정되지 않을 수도 있음

Firefox 버전 1.5.0.8에서 시작하여 일부 HTML DOM 속성 동작의 변경사항으로 인하여 panelDialog가 Firefox에서 렌더링될 때 올바르게 위치 지정되지 않을 수도 있습니다. 문제점은 주로 대화 상자가 상대적으로 위치 지정되었으나 본문의 크기가 브라우저 창 높이 "미만"인 경우(즉, 페이지가 수직으로 화면 이동되지 않을 때) 발생할 수 있습니다.

해결 방법: 수직 화면 이동 막대가 항상 페이지에 위치할 수 있도록 컨텐츠를 본문에 추가하여(높이가 설정된 <div>와 같은 공백이라도) 문제점을 해결할 수도 있습니다(브라우저 창 및 컨텐츠의 정확한 크기에 따라 다름).

2.16 styleClass가 "pagerDeluxe"가 아닐 경우 hx:pagerDeluxe가 올바르게 렌더링되지 않음

styleClass가 기본 클래스 pagerDeluxe가 아닐 경우 <hx:pagerDeluxe>가 정확한 HTML 마크업을 렌더링하지 않습니다. 호출기의 단추는 항상 기본 클래스 이름으로 렌더링됩니다.

해결 방법: