How to Use Java Functions In EL
To use a Java Functions in EL we need three things.
- The java class with a static method.
- A Tag Library Descriptor (TLD) File
- Taglib directive in the jsp page.
- EL to invoke the function.
The java class: In this class the functions declared must be public and static. It should have a non- void type return type. After all, its all the matter of calling method from a jsp page. Put this java file in the /WEB-INF/classes folder. After all this class is not for everyone to see.
The TLD file: TLD provides a mapping between the java class that contains the function and the jsp which will call the function from the java class.
The taglib directive: This directive uses the TLD.
EL to invoke a function: We can call the function by using ${prefix:name()}. This name() we have defined in the <name> tag inside the <function> tag.
The code of the program is given below:
package TLD; public class Add{ static int a = 10; static int b= 10; public static int add(){ return (a+b); } public static int playRandom(){ return (int) ((Math.random()*10)+1); } } |
<%@ taglib prefix = "addition" uri =
"addFunction"%> <html> <body> <center> <table> <tr><td>This no. is static :</tr/</td> <tr><td>${addition:AddTheVariable()}</tr></td><tr> <tr><td>This no. is random :</tr/</td> <tr><td>${addition:random()}</tr></td> </table> </center> </body> <html> |
The output of the program is given below: