728x90
반응형

이 문서는 구루비에서 작성하였습니다.

  • 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
  • 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=983139&
  • 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
  • EL(Expression Language)이란?

    JavaScript 에서 조금 확장하고 XPath(XML 문서의 정보에 접근하기 위해 사용되는 언어)에서 힌트를 얻어 만들어진 언어이다.
    그러나 EL은 값이 없는 변수(NULL)에 대해 좀더 관대하고, 데이터 현변환을 좀더 자동적으로 해준다.
    이러한 특징들은 파라미터들을 폼에서 얻어오는 웹어플리케이션에 중요하다.
    파라미터들이 몇몇 요청에서는 존재하고 어떤 경우에는 값이 없을 수 있으며, 브라우저가 파라미너값을 항상 문자열로 보내는데 반해,
    웹어플리케이션에서는 숫자나 boolean로 사용해야 할 경우가 생긴다. EL이 설계된 방식에 따르면, 값이 없을 경우나, 형변환같은 것에 전혀 신경쓸 필요가 없다.

    새로운 JSTL1.1 태그 라이브러리 지정자

    JSTL1.1은 JSTL을 JSP2.0에 통합하기 위한 마이너 스펙 릴리즈이다. 눈에 띄는 변화는 JSTL1.0의 두개로 분리되었던 라이브러리가 EL과 JAVA표현식 모두를 사용할 수 있는 한가지 라이브러리로 통합된 것이다.
    JSTL의 라이브러리들은 다음과 같은 지정자를 사용한다.

    Library URI Prefix
    Core http://java.sun.com/jsp/jstl/core C
    XML precessiog http://java.sun.com/jsp/jstl/xml x
    l18N formatting http://java.sun.com/jsp/jstl/fmt fmt
    Database access http://java.sun.com/jsp/jstl/sql sql
    Function http://java.sun.com/jsp/jstl/function fn

    EF Function

    함수명 함수설명
    fn:contains(string, sbustring) string이 substring을 포함하면 return True
    fn:containsIgnoreCase(string, sbustring) 대소문자 관계없이 string이 substring을 포함하면 return True
    fn:endsWith(string, suffix) string이 suffix로 끝나면 return True
    fn:escapeXml(string) stting에 XML과 HTML에서 특별한 의미를 가진 문자들이 있으면, XML엔티티 코드로 바꿔준뒤 문자열 반환
    fn:indexOf(string, sbustring) string에서 substring이 처음으로 나타나는 인덱스 반환
    fn:join(array, separator) array요소들을 separator를 구분자로 하여 연결해서 반환
    fn:length(item) item이 배열이나 컬렉션이면 요소의 객수를 문자열이면 문자의 객수를 반환
    fn:replace(string, before, after) string내에 있는 before 문자열을 after 문자열로 모두 변경해서 반환
    fn:split(string, separator) string내의 문자열 separetor에 따라 나누어서 배열로 구성해서 반환
    fn:startsWith(string, prefix) string이 prefix로 시작하면 return True
    fn:substring(string, begin, end) string에서 begin인덱스에서 시작해서 end인덱스에 끝나는 부분의 문자열 반환
    fn:substringAfter(string, sbustring) string에서 substring이 나타나는 이후의 문자열 반환
    fn:substringBefore(string, sbustring) string에서 substring이 나타나는 이전의 문자열 반환
    fn:toLowerCase(string) string을 모두 소문자로 바꿔 리턴
    fn:toUpperCase(string) string을 모두 대문자로 바꿔 리턴
    fn:trim(string) string앞뒤의 공백을 모두 제거하여 반환

    함수테스트 JSP 소스

    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
    <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
    
        <h1>EL Function(JSTL1.1)</h1>
    
        <c:set var="name" value="Oracle dbms 오라클클럽"/>
        <c:set var="name" value="${fn:trim(name)}"/><br/>
        <c:out value="name: ${name}"/><br/><br/>
    
        <c:out value="length(name): ${fn:length(name)}"/><br/>
        <c:out value="toUpperCase(name): ${fn:toUpperCase(name)}"/><br/>
        <c:out value="toLowerCase(name): ${fn:toLowerCase(name)}"/><br/>
        <c:out value="substring(name,3,6): ${fn:substring(name,3,6)}"/><br/>
        <c:out value="substringBefore(name,'dbms'): ${fn:substringBefore(name, 'dbms')}"/><br/>
        <c:out value="substringAfter(name,'dbms'): ${fn:substringAfter(name, 'dbms')}"/><br/>
        <c:out value="replace(name, '오라클클럽', 'Korea'): ${fn:replace(name, '오라클클럽', 'Korea')}"/><br/>
        <c:out value="indexOf(name, 'dbms'): ${fn:indexOf(name,'dbms')}"/><br/>
        <c:out value="contains(name, 'Oracle'): ${fn:contains(name, 'Oracle')}"/><br/>
        <c:out value="containsIgnoreCase(name, 'opracle'): ${fn:containsIgnoreCase(name, 'oracle')}"/><br/>
        <c:out value="startsWith(name, 'Oracle'): ${fn:startsWith(name, 'Oracle')}"/><br/>
        <c:out value="startsWith(name, 'dbms'): ${fn:startsWith(name, 'dbms')}"/><br/>
        <c:out value="endsWith(name, '오라클클럽'): ${fn:endsWith(name, '오라클클럽')}"/><br/><br/>
        <c:remove var="name"/>
    
        <c:out value="=================================================================="/><br/><br/>
    
        <c:set var="db" value="ORACLE, DB2, MSSQL, MYSQL, SYSBASE"/>
        <c:set var="db_arr" value="${fn:split(db,',')}"/>
        <c:forEach var="x" items="${db_arr}">
            <c:out value="${x}"/><br/>
        </c:forEach>
        <c:out value="${fn:join(db_arr, ',')}"/><br/>
    
       </body>
    </html>
    
    

    문서에 대하여

    문서정보

    728x90
    반응형
    블로그 이미지

    nineDeveloper

    안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

    ,