Java 투어(3) - JSTL 및 EL 표현식

4005 단어

먼저 JSP 코드를 보여 드리겠습니다. 어떤 느낌이 드는지.
<%

       List<UsEL> usELList = pageModel.getList();
       for (ItELator<UsEL> itEL=usELList.itELator(); itEL.hasNext();) {
              UsEL usEL = itEL.next();
%>
<tr>
       <td class="rd8">
              <input type="checkbox" name="selectFlag" class="checkbox1"
                     value="<%=usEL.getUsELId() %>">
       </td>
       <td class="rd8">
              <%=usEL.getUsELId() %>
       </td>
       <td class="rd8">

              <%=usEL.getUsELName() %>
       </td>   
       <td class="rd8">
              <%=usEL.getContactTel()%>
       </td>
       <td class="rd8">
              <%=usEL.getEmail() %>
       </td>
       <td class="rd8">
             <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(usEL.getCreateDate()) %>
       </td>
</tr>
<%
     }
 %>


이것이 바로 Java 코드가 섞인 JSP 페이지입니다.
(1) jsp 유지보수 난이도 증가;(2) 오류 알림이 명확하지 않아 디버깅이 쉽지 않다.(3) 분업이 명확하지 않기 때문에 미용사들은 자바 코드를 알아야 한다.상술한 세 가지는 최종적으로 프로그램의 개발 원가를 증가시킬 것이다.
위의 문제를 해결하면 JSTL과 EL 표현식이 나타난다. JSTL은 JSP 개발자로 하여금 스크립트 요소에 대한 수요를 줄일 수 있고 심지어 그것들을 필요로 하지 않아도 된다. 코드 작업량을 낮출 수 있고 인터페이스가 더욱 간결하고 유지 보수가 편리하다. 백엔드 자바 인원과 전방의 미국 일꾼들이 분담하여 팀워크의 효율을 높일 수 있다.
과연 JSTL은 무엇일까요?EL 표현식이 뭐죠?왜 항상 JSTL 하면 EL 표현식을 말하죠?그것들 둘은 도대체 어떤 관계입니까?또 뭐가 달라요?밑을 보시고 천천히 말씀해주세요~
1. JSTL이란?
JSTL은 끊임없이 완벽한 오픈 소스 코드의 JSP 태그 라이브러리입니다.JSTL1.0은 네 개의 맞춤형 태그 라이브러리(core,format,xml,sql)와 한 쌍의 유니버설 태그 라이브러리 검증기로 구성되어 있다.
(1)core 태그 라이브러리는 맞춤형 조작을 제공하여 역할 영역의 변수 관리 데이터를 제한하고 페이지 내용의 교체와 조건 조작을 실행한다.URL을 생성하고 조작하는 데 사용되는 태그도 제공합니다.
(2)format 태그 라이브러리는 데이터(특히 숫자와 날짜)를 포맷하는 작업을 정의한다.
(3) xml 라이브러리에는 XML을 통해 표시된 데이터를 조작하는 데 사용되는 태그가 포함되어 있다.
(4) sql 라이브러리는 관계 데이터베이스를 조회하는 데 사용되는 조작을 정의했다.
2. EL 표현식은 무엇입니까?
EL 표현식은 주로 역할 영역의 데이터를 찾아서 간단한 조작을 하는 데 사용된다.그것은 프로그래밍 언어가 아니라 스크립트 작성 언어도 아니다.일반적으로 JSTL 태그와 함께 작용하며 복잡하고 편리한 행동을 간단하면서도 편리한 기호로 나타낼 수 있다.
EL 표현식의 형식: 달러 기호 ($) 로 경계를 정하고, 내용은 괄호 ({}) 에 포함됩니다.예: ${PageScope.UserName} 입니다.다시 한 번 군말하지 않겠다. 인터넷에는 매우 상세한 사용 강좌가 많다.
3. EL 표현식 변수의 역할 영역은?
EL 억제: pageScope, requestScope, sessionScope, applicationScope.작용역의 범위는 순서대로 작은 것에서 큰 것으로 나뉜다.
EL 이름/JSTL 이름
유효 범위
PageScope/Page
사용자가 이 페이지를 요청하는 프로세스
RequestScope/Request
사용자의 전체 요청 프로세스
SessionScope/Session
사용자의 전체 세션 기간
ApplicationScope/Application
WEB 어플리케이션 실행 중
       
${username} 변수 역할 영역을 명확하게 쓰지 않을 때, 기본적으로 상기 순서대로 변수를 찾고, 찾으면 되돌아오고, 더 이상 찾지 않습니다.그러나 모든 범위를 찾지 못하면,null로 돌아갑니다.역할 영역을 명시한 경우 검색 절차는 다음과 같습니다.
인스턴스
설명
${ PageScope .UserName}
Page 범위 내의 User를 가져옵니다Name
${ RequestScope.UserName}
Request 범위 내의 User 가져오기Name
${SessionScope.UserName}
Session 범위 내의 User를 가져옵니다Name
${ ApplicationScope.UserName}
Application 범위 내의 User를 가져옵니다Name
 
4. JSTL과 EL 표현식은 어떤 차이가 있습니까?
(1)기능:EL은 데이터를 표시하는 데 사용되며, 기능은 <%=표현식%>와 같지만, 그 기능은 한계가 있다. 예를 들어 빈에 대한 기본적인 비공식 문자열 출력, 반복 순환 그룹 요소 등은 실현할 수 없다.JSTL은 상술한 문제점을 보완했다. 이는 웹 페이지의 논리적 판단과 교체 디스플레이를 실현하는 데 자주 사용되는데 기능은 <% 프로그램 코드%>와 같다.따라서 일반적인 상황에서 우리는 JSTL을 선택하여 EL 표현식과 함께 사용한다. 이렇게 하면 기본적으로 JSP에 자바 코드가 나타나지 않도록 할 수 있다.
(2) 설정: JSTL과 EL 표현식은 모두 사용자 정의 탭입니다. 웹 서버 용기는 jsp를 servlet으로 해석하고 해석하는 과정에서 해석기를 호출합니다. 이 해석기 집합은 EL, JSTL 등 해석기를 포함합니다.
그러나 EL은 servlet 표준으로 용기에 통합되기 때문에 우리는 EL 표현식을 사용할 때 어떤 것도 인용할 필요가 없다.JSTL은 패키지를 도입해야 사용할 수 있다.다음과 같이 taglib 명령을 사용합니다. - 이 JSP 페이지에 사용되는 태그 라이브러리 <%@ taglib uri=""prefix=""%>
(3) 빈 값 처리: 모든 범위를 검색한 후에도 데이터가 없을 때 NULL로 돌아가지만 EL 표현식이 최적화되어 출력 NULL이 아닌 공백이 페이지에 표시됩니다.JSTL은 더욱 철저하게 최적화되어 NULL로 돌아갈 때 JSTL을 통해'없음'을 되돌릴 수 있다.
 
이제 JSTL과 EL 표현식에 대해 기본적으로 알게 되었습니다. 사실 말하자면 한마디입니다. 둘을 결합하면 JSP 페이지의 자바 코드를 철저히 제거합니다!

좋은 웹페이지 즐겨찾기