상세 컨텐츠

본문 제목

35) EL(표현언어) 메소드 호출(JSTL 인코딩 디코딩)

Today's Study/Academy

by Hello-Melo 2022. 5. 17. 12:18

본문

22.5.17

 

1. EL에서 정적 메서드 호출하기 1번

 - 어렵지만 이 방법을 통해서 인코딩과 디코딩한 것을 EL로 불러올 수 있음

 - 먼저 정적 메서드 작성

 

 1) JAVA 클래스에 원하는 메서드를 작성 후 컴파일

package util;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.DecimalFormat;

public class FormatUtil {
			public static String number(String input) throws UnsupportedEncodingException {
				return URLDecoder.decode(input, "utf-8");
			}
}

이렇게 util.FormatUil 에 number라는 메서드를 작성함

 

2) TLD파일 설정

 - Tag Library Descpritor의 약자

 - 태그 라이브러리에 대한 설정 정보

 - 즉 내가 커스텀 라이브러리화 하는 것

 - xml파일 만들기에서 확장자를 .tld로 바꿔서 만들어 준다

 

<?xml version="1.0" encoding="UTF-8"?>

<taglib xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">

    <description>EL에서 funtions실행</description>
    <tlib-version>1.0</tlib-version>
    <short-name>ELfunctions</short-name>

    <function>
        <description>URL디코딩</description>
        <name>format</name>
        <function-class>util.FormatUtil</function-class>
        <function-signature>
            java.lang.String number( java.lang.String)
        </function-signature>
    </function>

</taglib>

위처럼 임의의 tld파일을 만들어 준다

 

 - description은 설명태그 / function태그 안에 class는 해당 메서드가 있는 패키지와 클래스 / signature은 해당 메서드이름과 파라미터 타입

 

3) web.xml에 tld 등록

        <jsp-config>
         <taglib>
            <taglib-uri>
                /WEB-INF/myTld/el-functions.tld
            </taglib-uri>
            <taglib-location>
                /WEB-INF/myTld.tld
            </taglib-location>
         </taglib>
        </jsp-config>

  - tag uri는 참조할때 쓰는 식별자

 - tag location은 실제 파일 위치

 - 그리고 원하는 jsp 파일에 가서

<%@ taglib uri="/WEB-INF/myTld/el-functions.tld" prefix="el" %>

${ el:format(cookie.Shipping_shippingDate.value) }

 - 이렇게 el:format()형식으로 내가 설정한 메서드를 jstl로 불러올 수 있음

 

 

2. EL에서 정적 메서드 호출하기 2번

 - JAVA 클래스와 메서드를 만든 후 일반 클래스처럼 import하여 바로 사용 가능

 - 이 방법이 훨씬 더 많이 사용된다. 하지만 1번 방법도 기억해두고 있을 것!

 

 

'Today's Study > Academy' 카테고리의 다른 글

37) Spring MVC 연결(JAVA)  (0) 2022.05.24
36) DBConnection 연결과 Web-Servlet 설정  (0) 2022.05.18
34) 세션  (0) 2022.05.17
33) 오류 처리  (0) 2022.05.17
32) JTSL 날짜 시간 형식화 및 다국어 처리  (0) 2022.05.12

관련글 더보기

댓글 영역