문제

아무도 JSP 사용자 정의 태그 라이브러리와 JSP 2 태그 파일의 아이디어를 설명 할 수 있습니까?

그들은 똑같은 일을하는 다른 방법입니까?

그들은 어떻게 비교합니까? 그들의 장단점은 무엇이며 어느 것이 더 나은가요?

도움이 되었습니까?

해결책

I <3 태그 파일이지만 JSTL의 리드 개발자는 실제로 그렇게 말하면 흡연 균열입니다. 모든 태그 라이브러리 태그를 태그 파일 태그로 다시 작성할 수는 없습니다. 매우 중요한 이유는 다음과 같습니다. 태그 파일을 수행 할 수 없습니다.

retud eval_body_include;

다시 말해, 태그 파일에는 신체 컨텐츠에 대한 세 가지 옵션 만 있습니다.

비어 있는: 내부 내용이 없습니다.u003CsomeTag/>

성경 : JSP 내부 컨텐츠가 없습니다.u003CsomeTag>u003Cp> 안녕하세요 세계u003C/p>u003C/someTag> 괜찮지 만 아닙니다u003CsomeTag>u003Cp> < %= helloworld.tostring () %>u003C/p>u003C/someTag>

태그 의존적 : JSP 내부 컨텐츠를 가질 수 있지만 처리되지는 않습니다. 대신 당신은 그것을 구문 분석/렌더링해야하지만 적합합니다.

그러나 구식 태그 라이브러리 태그를 사용하면 다음을 수행 할 수 있습니다.u003Cbody-content> JSPu003C/body-content> (TLD 파일) 및 "eval_body_include를 반환합니다." "dostarttag"에서. 이 작업을 수행하면 모든 JSP 지침이 마치 페이지의 정상적인 부분 인 것처럼 구문 분석되며 태그는 적절한 내용으로 래과합니다.

개인적으로 내 경험 규칙은 다음과 같습니다. 가능할 때마다 태그 파일을 사용하십시오. 태그 내부에서 작동하기 위해 JSP 지시문이 필요하지 않을 때마다 백만 배 더 깨끗하고 프로그램이 아닌 작업을 수행하기 쉽기 때문에 TLD가 필요하지 않기 때문입니다 (음, 분리 된 네임 스페이스에 보관하면 태그 라이브러리 태그).

그러나 태그 내에서 JSP 컨텐츠를 원한다면 유일한 옵션은 태그 라이브러리 태그입니다. 언젠가 JSP 사람들이 태그 파일 태그 내에서 JSP 지시 처리 방법을 수행하는 방법을 공개 한 다음 실제로 구형 클래스 기반 태그를 포기할 수 있지만 그때까지는 태그 파일로 모든 태그를 수행하려고 시도하지 마십시오. , 모든 마지막 논리에 대해 사용자 정의 태그를 만들도록 빠르게 줄어들므로 (JSP 지침을 사용하지 않고 로직을 수행하는 유일한 방법이기 때문에).

다른 팁

맞춤형 태그를 개발하는 문제

전통적인 맞춤형 태그에는 Java 프로그래밍 기술이 필요합니다.

가장 간단한 사용자 정의 태그를 제외한 모든 것은 쓰기가 쉽지 않습니다.

서블릿과 달리 JSP의 목적은 마크 업 언어를 사용하여 내장 된 동적 컨텐츠로 레이아웃을 관리하는 것입니다.

마크 업 언어에 중점을 둔 사용자 정의 태그로 복잡한 Java 코드를 작성 해야하는 것은 거꾸로 진행됩니다.

새 사용자 정의 태그를 구현할 때는 JSP 표현 언어 또는 기타 사용자 정의 태그를 사용할 수 있습니다.

해결책 JSP 2.0 태그 파일

  • 태그 파일은 JSP 2.0에 도입 된 중요한 새로운 개념 중 하나입니다.
  • 태그 파일은 사용자 정의 태그를보다 쉽고 빠르게 개발할 수 있습니다.
  • 태그 파일은 스크립팅 요소를 포함하여 일반적인 JSP 구문을 사용하여 개발되며 다른 사용자 정의 태그와 마찬가지로 사용됩니다.
  • 각 사용자 정의 태그는 별도의 태그 파일입니다.

태그 파일은 어떻게 다릅니 까?

JSP Syntax를 사용하여 작성되었습니다.

  • 모든 JSP 지시문이 태그 파일에 허용되는 것은 아닙니다.
  • 새로운 태그 파일 특정 지시 사항, 조치 및 암시 적 개체에 의해 지원됩니다.

둘 중 하나에 의해 식별됩니다 .꼬리표 또는 .tagx 접미사.

사용자 정의 태그 개발자에게 기능 상실없이 개발의 편의성을 제공하기위한 것입니다.

  • JSTL의 주요 개발자 중 한 명이 시간이 있었을 때 태그 파일을 사용하여 모든 JSTL을 다시 작성할 것이라고 언급했습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top