다른 URI를 사용하여 taglib 접두부 재정의 안함

이 규칙은 동일한 prefix 속성 값을 다른 uri 속성 값과 연관시키는 JSP taglib 지시문에 플래그를 지정합니다. 재정의가 동일한 JSP 파일 내에서 일어나거나 정적으로 포함된 JSP 파일 또는 단편 내에서 일어나는 경우 재정의에 플래그가 지정됩니다.

JSP 2.1 스펙에 따르면 JSP의 현재 범위 내에서는 접두부를 재정의하면 안됩니다. 태그 라이브러리 접두부가 포함된 JSP나 단편 또는 JSP 내에 다른 URI로 이미 정의되어 있는 경우에는 제품에서 변환 오류를 작성해야 합니다. JSP 2.1은 WebSphere Application Server V7에서 새로 도입되었습니다. 유효성 검증이 해당 릴리스에 새로 도입되었으며 이전 버전에서는 시행되지 않았습니다.

우수 사례 솔루션은 고유 접두부를 사용하도록 taglib 지시문을 변경하고 새 접두부를 사용하도록 영향이 미친 JSP 파일을 업데이트하는 것입니다.

JSP 파일을 변경하지 않으려면 IBM 웹 확장 파일(ibm-web-ext.xml)에서 다음 JSP 속성을 설정하여 웹 모듈에 대한 이 동작을 이전 버전의 동작으로 되돌릴 수 있습니다.

<jsp-attribute name="allowTaglibPrefixRedefinition" value="true"/>

또는 웹 컨테이너 사용자 정의 특성 com.ibm.wsspi.jsp.allowtaglibprefixredefinition=true를 설정하여 첫 번째 옵션이 제공하는 특정 웹 모듈이 아닌 서버의 모든 애플리케이션에 적용할 수도 있습니다.

예제 1: 다음 행이 Page1.jsp라는 동일한 JSP 파일에 있습니다.
< span class="Code"> <% @ taglib uri= "/WEB-INF/fmt.tld" prefix="fmt " %>
<% @ taglib uri= "/WEB-INF/otherLib.tld" prefix="fmt " %> < /스팬 >

예제 1에서 두 번째 항목은 fmt의 재정의이므로 플래그가 지정됩니다. 이 예제의 경우 도구가 Eclipse 오류 로그에 다음 경고 메시지를 기록합니다.

!MESSAGE CWMIG1125W: WebContent/Page1.jsp 파일이 fmt 접두부의 URI 값을 /WEB-INF/fmt.tld에서 /WEB-INF/otherLib.tld로 재정의하려고 시도했습니다.
MyJspProject 프로젝트에서 /MyJspProject/WebContent/Page1.jsp 파일을 분석하는 중에 다른 URI를 사용하여 taglib 접두부 재정의 안함 규칙에 문제점이 발생했습니다.

예제 2: Page2.jsp라는 JSP 파일에 다음 컨텐츠가 있습니다.
< 코드> <% @ taglib uri= "/WEB-INF/fmt.tld" prefix="fmt " %>
<% @ include 파일= "myPage.jspf" %> < /코드>

여기서 myPage.jspf에 다음 행이 포함되어 있습니다.

< code> <% @ taglib uri= "/WEB-INF/otherLib.tld" prefix="fmt " %> < /code>

예제 2에서 myPage.jspf의 taglib 행에 플래그가 지정됩니다. Eclipse 오류 로그에 다음 경고가 기록됩니다.

!MESSAGE CWMIG1124W: WebContent/myPage.jspf 파일이 WebContent/Page2.jsp 파일 영역에서 fmt 접두부의 URI 값을 /WEB-INF/fmt.tld에서 /WEB-INF/otherLib.tld로 재정의하려고 시도했습니다.
MyJspProject 프로젝트에서 /MyJspProject/WebContent/Page2.jsp 파일을 분석하는 중에 다른 URI를 사용하여 taglib 접두부 재정의 안함 규칙에 문제점이 발생했습니다.

오류 로그 정보를 사용하여 충돌하는 파일을 파악하십시오. 포함된 JSP 파일은 여러 다른 범위에 다수의 기본 JSP 파일로 재정의를 유발할 수 있습니다. 이 경우 단일 수정이 다수의 문제점을 지울 위치에서 파일이 여러 번 플래그가 지정될 수 있습니다. 어느 JSP 파일에 포함되었는지에 따라 포함된 동일한 파일이 태그 라이브러리 URI를 다르게 재정의할 수 있습니다. 이러한 이유로 각 오류가 나열됩니다.

Eclipse 오류 로그를 열려면 창 > 보기 표시 > 기타 > 오류 로그를 클릭하십시오.

추가 정보는 다음을 참조하십시오.