개발자 그룹과 함께 일하는 것을 기억합니다. 항상 정적 인 HTML 텍스트가 외부 태그 (<c:out value="words" />
) 안에 있어야합니다. 왜 이 기억이 나지 않습니다.jstl out 태그를 사용하는 것이 가장 좋은 방법입니까?
jsp 페이지를 작성할 때이 방법이 가장 좋은 방법입니까? 그런 접근법의 장점/단점은 무엇입니까?
개발자 그룹과 함께 일하는 것을 기억합니다. 항상 정적 인 HTML 텍스트가 외부 태그 (<c:out value="words" />
) 안에 있어야합니다. 왜 이 기억이 나지 않습니다.jstl out 태그를 사용하는 것이 가장 좋은 방법입니까?
jsp 페이지를 작성할 때이 방법이 가장 좋은 방법입니까? 그런 접근법의 장점/단점은 무엇입니까?
정적 텍스트는 끔찍한 생각입니다. 정적 인 것과 동적으로 생성되는 것의 장벽이 없습니다.
이 정적이 아닌 ${dynamic}
텍스트입니다 :로
는 외에, 서블릿 사양에 2.3 당신은 정적 텍스트와 혼합 동적 텍스트를 가질 수 있습니다.
당신이 원하는 당신은 오래된 서블릿 사양을 사용하고
, 어떤 방식으로 출력 동적 텍스트에 필요합니다
유일한 이유
은 내 경험에서,c:out
태그를 사용하는 등, 그들의 제어 코드와 앰퍼샌드 교체 등 <>
사용하지 HTML
출력 탈출therwise, 정적 텍스트를 사용하는 데 프로그래머 또는 유지 관리자가 혼란스럽게 ... 이제 어디서 그랬습니까 EL? c:out
태그에 있었지만 ... 50 줄의 정적 텍스트도있었습니다!
일반 텍스트를 인쇄하는 경우 HTML로 인쇄하는 것이 좋습니다. c:out
태그의 장점은 태그 내부의 표현식을 평가할 수 있다는 것입니다.
<c:out value="Hello ${user.firstName} ${user.lastName}"/>
컨테이너가 EL 지원을 직접 제공 할 수있는 경우 Servlet Spec 2.3+에서 이점이 사라집니다. 따라서 Hello : {user.firstName} $ {user.lastName}이 c : out없이 읽을 수있을 때 Servlet Spec 2.3+ 컨테이너에서 EL을 출력하는 데 c : out을 사용해서는 안됩니다. – MetroidFan2002
EL이 특수 HTML 문자를 이스케이프 처리하지 않는다는 점에 유의하십시오. EL이 사용자가 제공 한 데이터를 출력하는 경우이 사이트는 크로스 사이트 스크립팅과 같은 심한 보안 취약성에 대해 응용 프로그램을 열어 둡니다. – laz
나는 탈출이 오늘 c : out을 사용하는 주된 이유라고 생각한다. –
오래된 서블릿 스펙을 사용하지 않는 한 (불행히도, 운좋게도 나는이 불쌍한 영혼이 아닙니다.) 나는 동의합니다 - 이탈하는 XML은 멋지다. – MetroidFan2002