1.编写java类
[java] view plain copy
1. package myEL;
2.
3. public class ELFun {
4.
5. public static String processStr(String s) {
6.
7. s=s.toUpperCase();
8. return s;
9.
10. }
11.
12. }
EL数对应的java类的方法必须是静态的
2.编写tld文件
[html]
view plain
copy
1. <?xml version="1.0" encoding="UTF-8"?>
2. <taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
4. <tlib-version>1.0</tlib-version>
5. <uri>myelfun</uri>
6. <function>
7. <name>elfunction</name>
8. <function-class>myEL.ELFun</function-class>
9. <function-signature>
10. java.lang.String processStr(java.lang.String)
11. </function-signature>
12. </function>>
13. </taglib>
TLD文件的扩展名必须是.tld
3.web.xml配置
[html]
view plai
copy
1. <jsp-config>
2. <taglib>
3. <taglib-uri>/WEB-INF/TLD/elfun.tld
4. </taglib-uri>
5. <taglib-location>
6. /WEB-INF/TLD/elfun.tld
7. </taglib-location>
8. </taglib>
9. </jsp-config>
4.jsp中调用
[html] view plain copy
1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
2. <%
3. String path = request.getContextPath();
4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5. %>
6. <%@ taglib uri="/WEB-INF/TLD/elfun.tld" prefix="elfun" %>
7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
8. <html>
9. <head>
10. <base href="<%=basePath%>">
11.
12. <title>My JSP 'elfun.jsp' starting page</title>
13.
14. <meta http-equiv="pragma" content="no-cache">
15. <meta http-equiv="cache-control" content="no-cache">
16. <meta http-equiv="expires" content="0">
17. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
18. <meta http-equiv="description" content="This is my page">
19. <!--
20. <link rel="stylesheet" type="text/css" href="styles.css">
21. -->
22.
23. </head>
24.
25. <body>
26. <form method="POST">
27. 请输入一个字符串:
28. <input type="text" name="text"/>
29. <p>
30. <input type="submit" value ="提交"/>
31. </form>
32. <p>
33. 直接输出文本框中的内容:
34. <p>
35. ${param.text }
36. <p>
37.
38. ${elfun:elfunction(param.text)}
39. <p>
40.
41. <br>
42. </body>
43. </html>
如果用URI引用TLD文件,JSP引擎会先在WEB-INF目录及子目录中寻找所有的*.tld文件,如果发现某个.tld文件中的<uri>标签定义的URI和talib中的uri属性的值相等,就会记住这个.tld路径,在生成servlet的同时就会将这个TLD文件的路径也加进来。