2011-08-23 3 views
1

를 만듭니다JSP : 요소는 뭔가 이런 식으로 재 작성 꽤 crufty 코드를 정리하려고에 <img></img> 요소

<jsp:element name="img"> 
    <jsp:attribute name="src"> 
     <c:url value="${akamai}/images/prdLargerImage.gif"/> 
    </jsp:attribute> 
    <jsp:attribute name="alt">Zoom Image</jsp:attribute> 
</jsp:element> 

을 ...하지만 JSP이 코드 생성 된 것을 발견하고 깜짝 놀랐다 :

<img src="/images/prdLargerImage.gif" alt="Zoom Image"> 


      </img> 

<img src="/images/prdLargerImage.gif" alt="Zoom Image"/>을 강제로 생성하는 방법이 있습니까?

+0

위의 코드를 수동으로 제거한 모든 익명 공백으로 시도했음을 지적해야합니다. 결과는'Zoom Image' – kojiro

답변

1

당신은 web.xml에 떨어진 다음 항목에 의해 그 공백을 트리밍 컨테이너를 구성 할 수 있습니다

<jsp-config> 
    <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <trim-directive-whitespaces>true</trim-directive-whitespaces> 
    </jsp-property-group> 
</jsp-config> 

대신 짧은 태그 <img/>의 매달려 </img>을 가진에 대해 할 수있는 아무것도.

그러나 서블릿 2.4/JSP 2.0 호환 컨테이너 (템플릿 텍스트의 EL이 지원되는 곳)를 타겟팅하는 경우 다음과 같이 추한 것을 다시 작성해야합니다 (전혀 이점이 없습니다) :

<img src="${akamai}/images/prdLargerImage.gif" alt="Zoom Image" /> 
+0

입니다. XML/URL 안전 값을 포함하도록 'akamai'를 신뢰할 수있는 모든 경우에 확실히 깨끗한 해결책입니다 (JSP 2.0에만있는 경우). 그 동안 잘못된 XML-JSP를 작성하거나 열기/닫기 img 태그가 있어야 할 것 같습니다. – kojiro

+1

''은 'value'를 XML/URL 인코딩하지 않습니다. 중첩 된 ''의 '값'만 URL 인코딩합니다. – BalusC

관련 문제