2012-01-09 5 views
39

커스텀 태그 라이브러리를 작업하고 있는데, 사용자 정의 태그 속성을 정의하기 위해 <required><rtexprvalue> 태그가 TLD 파일에서 어떻게 사용되는지 혼란스러워했습니다.<required>과 <rtexprvalue>은 무엇에 사용됩니까?

  1. 이 태그는 무엇인가요?
  2. 우리는 무엇을 그들 사이에 써야합니까?
  3. 태그를 작성한 후 어떤 행동을합니까?
+0

https://docs.oracle.com/javaee/5/tutorial/doc/bnama.html#bnamh – user2418306

답변

62

required 매우 간단하게 말합니다. 속성은 필수 또는 필수입니다.

rtexprvalue은 런타임 표현식 값을 의미합니다. 속성이 스크립틀릿 값을 지원할 수 있음을 의미합니다.

elexprvalue은 EL (표현식 언어) 값을 지원할 수 있음을 의미합니다.

<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/> 
+0

고맙습니다. 다시 한 번 코드를 다시 참조하고 사용해보십시오. rtexprvalue를 false로 만들면 어떻게 될지 알려주실 수 있습니까 ?? 태그 사이에 tag-lib 파일을 어떻게 입력해야합니까? – bali208

+0

일반적으로'rtexprvalue'와'elexprvalue'는 taglib의 사용자가 런타임 값을 제공하는 것을 원하지 않을 때만 false가됩니다. 일부 태그 라이브러리에서'id' 속성이'false'로 선언 된 것을 보았습니다. – adarshr

6

TLD에 정의 된 <rtexprvalue> 요소는 속성의 동적 거동을 캡처 : 당신이 required=truertexprvalue=trueelattribute 모두로 정의 requiredattr이있는 경우

그래서, 다음과 같이 쓸 수 elexprvalue=true로 정의된다 . 값은 true 또는 false 일 수 있습니다. 동적 열의 false 값은 정적 문자열 값만 특성에 지정할 수 있음을 의미합니다. true 값은 요청 시간 속성 값을 지정할 수 있음을 의미합니다. JSP 스펙에 정의 된대로 "요청시 속성 값"은 Java 표현식, EL 표현식 또는 값이 <jsp:attribute>으로 설정 될 수 있습니다.

<required> 요소는 중첩 속성이 필수인지 또는 선택적인지 정의합니다. 존재하지 않으면 기본값은 "false"입니다. 즉 속성은 선택 사항입니다.

관련 문제