EL表达式自定义方法
程序员文章站
2022-04-07 21:00:49
...
EL表达式自定义方法:(只能支持静态方法的调用)
1.编写一个普通类,提供一个实现功能的静态方法
2.在WEB-INF目录下创建一个扩展名为.tld的xml文件,文件不能放在lib和classes目录下
3.在jsp页面中使用taglib指令引入外部的标签库/方法库
第一步:编写一个普通类
public class MyFunction {
public static String toUpperCase(String str){
return str.toUpperCase();
}
}
第二步:创建一个tld文件,进行相关配置(apache-tomcat-7.0.67\apache-tomcat-7.0.67\webapps\examples\WEB-INF\jsp2\jsp2-example-taglib.tld)
<?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>
<!-- 使用的短名称,对应的是taglib指令中的prefix -->
<short-name>myfun</short-name>
<!-- uri:把当前的方法库绑定到一个uri地址上,在该网址上不一定存在方法库 -->
<uri>http://www.scong.com/functions/function1</uri>
<function><!-- 自定义方法 -->
<name>toUpperCase</name><!-- 方法的名称,是jsp页面上使用的名称 -->
<function-class>function.MyFunction</function-class><!-- 指定执行的类 -->
<!-- 指定执行的方法,方法名称必须和类中的方法名称保持一致
注意:当方法有参数和返回值时:参数和返回值必须写类全名(除了基本数据类型) -->
<function-signature>java.lang.String toUpperCase(java.lang.String) </function-signature>
</function>
</taglib>
第三步:使用EL表达式自定义方法
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.scong.com/functions/function1" prefix="myfun" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EL表达式自定义方法</title>
</head>
<body>
<%--EL表达式:只能调用静态方法 --%>
${myfun:toUpperCase("abcdef") }
</body>
</html>
下一篇: java对日期格式的转换
推荐阅读
-
MySql中正则表达式的使用方法描述
-
MySQL中给自定义的字段查询结果添加排名的方法_MySQL
-
PHP过滤代码,正则表达式过滤掉调用种的方法
-
PHP用正则表达式 判断是否为Y-m-d 时间格式解决方法
-
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
-
怎样使用JS中EL表达式获取上下文参数
-
小米相机不能自定义设置水印怎么办? 小米水印的设置方法
-
thinkphp3.x自定义Action、Model及View的简单实现方法_php实例
-
Smarty使用自定义资源的方法,smarty自定义资源_PHP教程
-
element-ui 的el-button组件中添加自定义颜色和图标