2010-02-25 4 views

답변

5

보일 것 같아. 그러나 내장되어 있지는 않지만 /WEB-INF/libjstl-1.2.jar을 놓기 만하면 JSP 페이지 상단에 taglib 중 하나를 TLD 설명서에 따라 선언해야합니다. JSTL core :

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

이렇게하면 링크가 나열된 태그에서 사용할 수 있습니다. core tags의 대부분은 흐름 제어 태그입니다. JSTL도 XMLSQL 태그 라이브러리를 가지고 있지만 빠른 프로토 타이핑에만 사용되며 실제 제작에는 사용해서는 안됩니다. 그렇다면 (i18n 및 l10n)에 적합한 Format (fmt) taglib가 있습니다. 마지막으로 간단한 EL 기능을 제공하는 유용한 functions (fn) taglib가 있습니다.

다음은 ${} 가지입니다. 이를 expression language이라고합니다. PageContext#findAttribute()의 도움으로 Javabean과 같은 방식으로 페이지, 요청, 세션 및 응용 프로그램 범위의 "백엔드 데이터"(속성)에 액세스하고 Javabean을 게터으로 호출하기 만하면됩니다. EL은 nullsafe입니다

<%= pageContext.findAttrubute("user").getAddress().getStreet() %> 

에 대략 해결

${user.address.street} 

: 당신이 스크립틀릿을 이해한다면, 당신은 다음 예제를 이해하게 될 것입니다. ${user} 또는 ${user.address}null으로 바뀌면 아무 것도 표시하지 않고 그냥 건너 뜁니다. 스크립틀릿에서는 마지막 호출시 중첩 호출에 NPE가 표시되거나 null 만 나타납니다.

그런 다음 #{} 구문으로 표시된 통합 EL이 있습니다. 그것은 (지금까지) JavaServer Faces (JSF)과 결합하여 사용되었습니다. Javabean setter마지막 속성에서 호출 할 수 있습니다. 예 : 그것은 방법이 아닌 뷰 기술에서의

pageContext.findAttribute("bean").setFoo(request.getParameter("foo")); 

을 다음과 같이

<h:inputText name="foo" value="#{bean.foo}"> 

은 뒤에서 대략 할 것입니다. JSP 자체는 이미 자체 뷰 기술입니다. JSTL은 taglib입니다. EL은 JSP 사양의 일부일뿐입니다. Java EE가 제공하는 다른 뷰 기술은 XHTML 기반이며 JSP보다 JSF를 훨씬 더 완벽하게 통합하는 Facelets입니다.

6

: 같은 같습니다.

나는 그것이 참으로 JSTL의 더 같은

<c:if test="${someobject.property != null}">