lEL表达式语法允许开发人员开发自定义函数,以调用Java类的方法。
•示例:${prefix:method(params)}
•在EL表达式中调用的只能是Java类的静态方法。
•这个Java类的静态方法需要在TLD文件中描述,才可以被EL表达式调用。(Taglibrary Definition)
•EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通Java程序代码所能完成的功能。
•示例:${prefix:method(params)}
•在EL表达式中调用的只能是Java类的静态方法。
•这个Java类的静态方法需要在TLD文件中描述,才可以被EL表达式调用。(Taglibrary Definition)
•EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通Java程序代码所能完成的功能。
一般来说,
, EL自定义函数开发与应用包括以下三个步骤:
1.•
编写一个
Java
类的静态方法
2.•
编写
标签库描述符(
tld
)文件
,在
tld
文件中描述自定义函数。
3.•
在
JSP
页面中导入和使用自定义函数
示例:小写转大写
1.•
编写一个
Java
类的静态方法. 名称为FunctionDemo- package com.itheima.base;
- /*
- * 小写转换为大写
- * 需要静态方法
- */
- public class FunctionDemo {
- public static String toUpperCase(String value){
- return value.toUpperCase();
- }
- }

package com.itheima.base;
/*
* 小写转换为大写
* 需要静态方法
*/
public class FunctionDemo {
public static String toUpperCase(String value){
return value.toUpperCase();
}
}
2.•
编写
标签库描述符(
tld
)文件
,在
tld
文件中描述自定义函数。 在WebRoot 目录下创建名称为myfun.tld的xml文件
- <?xml version=“1.0” encoding=“UTF-8”?>
- <taglib xmlns=“http://java.sun.com/xml/ns/j2ee”
- xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
- xsi:schemaLocation=“http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd”
- version=“2.0”>
- <tlib-version>1.0</tlib-version>
- <short-name>itheima</short-name>
- <uri>http://www.itheima.com/jsp/jstl/myfun</uri>
- <function>
- <description>
- toUpperCase
- </description>
- <name>toUpperCase</name>
- <function-class>com.itheima.base.FunctionDemo</function-class>
- <function-signature>java.lang.String toUpperCase(java.lang.String)</function-signature>
- <example>
- <itheima:toUpperCase(‘aaaa’)
- </example>
- </function>
- </taglib>

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>itheima</short-name>
<uri>http://www.itheima.com/jsp/jstl/myfun</uri>
<function>
<description>
toUpperCase
</description>
<name>toUpperCase</name>
<function-class>com.itheima.base.FunctionDemo</function-class>
<function-signature>java.lang.String toUpperCase(java.lang.String)</function-signature>
<example>
<itheima:toUpperCase('aaaa')
</example>
</function>
</taglib>
3.•
在
JSP
页面中导入和使用自定义函数 在WebRoot 目录下名称为6.jsp文件
- <%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>
- <%@ taglib uri=”http://www.itheima.com/jsp/jstl/myfun” prefix=“itheima” %>
- <!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN”>
- <html>
- <head>
- <title></title>
- <meta http-equiv=”pragma” content=“no-cache”>
- <meta http-equiv=”cache-control” content=“no-cache”>
- <meta http-equiv=”expires” content=“0”>
- </head>
- <body>
- ${itheima:toUpperCase(’aaaa’) }
- </body>
- </html>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.itheima.com/jsp/jstl/myfun" prefix="itheima" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
${itheima:toUpperCase('aaaa') }
</body>
</html>