使用EL调用Java方法
lEL表达式语法允许开发人员开发自定义函数,以调用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
2.•编写标签库描述符(tld)文件,在tld文件中描述自定义函数。 在WebRoot 目录下创建名称为myfun.tld的xml文件
一般来说,, 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(); } }
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>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>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了