Java

EL 함수 추가하기

풍풍 2013. 9. 10. 15:07

1. Static 함수 만들기

package com.tistory.harui;

public class TextFunction {
	public static String textFn(String txt) {
		return txt;
	}
}

 

2. TLD 파일 만들기

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

<taglib xmlns="http://java.sun.com/xml/ns/javaee" version="2.1">
	<tlib-version>0.1</tlib-version> <!-- tld 버전 -->
	<short-name>Harui Functions</short-name> <!-- tld 이름 -->
	<uri>HaruiFunctions</uri> <!-- tld url. 필수. 이거 4번에서 쓸 거임. -->
    
	<function>
		<name>textString</name><!-- jsp에서 쓸 함수명. 1의 메서드명하고 달라도 상관없다. -->
		<function-class>com.tistory.harui.TextFunction</function-class> <!-- 1의 패키지명과 클래스명까지 -->
		<function-signature>
			java.lang.String TextFunction(java.lang.String)
		</function-signature> <!-- 1의 메서드의 스펙 정리. 리턴값이나 인자값 모두 꼭 패키지부터 다 써줘야 한다. String이라고 예외는 없다.  -->
	</function>
</taglib>

 

3. web.xml은 web-app 2.4 버전부터 추가할 필요가 없어졌다.

 

4. JSP 파일에 적용하기

// 상단에 추가
<%@ taglib prefix="haruiFn" uri="HaruiFunctions" %> <!-- 2의 uri 를 적어준다. -->

// 본문 사용법
${haruiFn:textString("텍스트")}