Developing Tag Library Functions
Besides tag handlers, a tag library can also contain EL functions. An EL function is implemented as a static method in a regular Java class. There are no special interfaces to implement or any special conventions to follow; any static method will do.
Example 21-12 shows a class with static methods for converting between degrees in Celsius and Fahrenheit.
package com.ora.jsp.util;
public class TempConverter {
public static double toCelsius(double fahrenheit) {
return (fahrenheit - 32) * 5 / 9;
}
public static double toFahrenheit(double celsius) {
return celsius * 9 / 5 + 32;
}
}The toCelsius( ) method takes a degree in
Fahrenheit as its single argument and returns the corresponding
Celsius value, and toFahrenheit( ) does the
reverse.
To make these methods accessible as EL functions, they must be declared in the TLD for the tag library. We’ll look at the details in the next section, but here’s the bare minimum you need to add:
...
<function>
<name>toCelsius</name>
<function-class>com.ora.jsp.util.TempConverter</function-class>
<function-signature>double toCelsius(double)</function-signature>
</function>
<function>
<name>toFahrenheit</name>
<function-class>com.ora.jsp.util.TempConverter</function-class>
<function-signature>double toFahrenheit(double)</function-signature>
</function>
...Each function is declared by three mandatory elements. The
<name> element declares the function ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access