[스프링] 스프링 EL 함수

목차

1. 스프링 EL 함수란?

스프링 EL(표현 언어) 함수는 JSP나 Thymeleaf와 같은 뷰 템플릿 엔진에서 스프링 애플리케이션의 데이터에 접근하고 변환하는 데 사용됩니다. EL 함수는 뷰에서 데이터를 처리하거나 변환하는 데 유용한 기능을 제공합니다.

2. 스프링 EL 함수 사용하기

스프링 EL 함수를 사용하려면 먼저 <%@ page %> 디렉티브나 타임리프에서 xmlns:util="http://www.springframework.org/tags/util"을 선언하여 스프링 EL 함수를 사용할 수 있도록 설정해야 합니다.

예시:

<%@ page isELIgnored="false" %>
<%@ taglib uri="http://www.springframework.org/tags/util" prefix="util" %>
<html xmlns:th="http://www.thymeleaf.org" xmlns:util="http://www.springframework.org/tags/util">

3. 스프링 EL 내장 함수

스프링 프레임워크는 기본적으로 여러 내장 EL 함수를 제공합니다. 예를들어, isEmpty(), contains(), startsWith() 등 다양한 함수를 제공하여 데이터를 처리하고 변환하는데 유용합니다.

4. 사용자 정의 EL 함수 만들기

개발자는 필요에 따라 자신만의 EL 함수를 만들어 사용할 수 있습니다. 사용자 정의 EL 함수를 만들기 위해서는 FunctionMapper 인터페이스를 구현하고 함수를 등록해야 합니다.

예시:

package com.example.el;

import javax.servlet.jsp.el.FunctionMapper;

public class CustomFunctionMapper implements FunctionMapper {
    @Override
    public Method resolveFunction(String prefix, String localName) {
        if ("custom".equals(prefix)) {
            if ("myFunction".equals(localName)) {
                return MyCustomFunction.class.getMethod("myFunction", String.class);
            }
        }
        return null;
    }
}

위의 예시에서는 myFunction이라는 사용자 정의 EL 함수를 등록하는 방법을 보여줍니다.

이처럼, 스프링 EL 함수는 스프링 애플리케이션을 보다 유연하게 만들어주며, 필요에 맞게 사용자 정의 함수를 추가하여 뷰 템플릿에서 원하는 대로 데이터를 처리할 수 있습니다.

더 많은 정보는 공식 스프링 문서를 참고하세요.