自己写 el 函数

step 1:

写一个java类,定义一个或多个public static 方法,在方法中实现函数的逻辑

step 2:

在.tld文件中描述该函数可以参考fn.tld

step 3:

在jsp文件中,导入并使用函数

如,java类如下:

1 package myfunc;
2
3 public class MyElF {
4     public static String toUpperCase(String s){
5         return s.toUpperCase();
6     }
7
8 }

tld文件如下:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2
 3 <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
 4   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
 6   version="2.0">
 7
 8   <description>JSTL 1.1 functions library</description>
 9   <display-name>JSTL functions1</display-name>
10   <tlib-version>1.1</tlib-version>
11   <short-name>fn1</short-name>
12   <uri>http://www.caxa.com/fn1</uri>
13
14   <function>
15     <description>
16       Tests if an input string contains the specified substring.
17     </description>
18     <name>toUpperCase</name>
19     <function-class>myfunc.MyElF</function-class>
20     <function-signature>String toUpperCase(java.lang.String)</function-signature>
21   </function>
22
23
24 </taglib>

jsp导入和使用函数如下:

 1 <%@ page language="java" import="java.util.*,java.lang.*" pageEncoding="ISO-8859-1"%>
 2 <%@ taglib prefix="fn1"
 3            uri="http://www.caxa.com/fn1" %>
 4 <%
 5 String path = request.getContextPath();
 6 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 7 %>
 8
 9 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
10 <html>
11   <head>
12     <base href="<%=basePath%>">
13
14     <title>My JSP ‘MyJsp.jsp‘ starting page</title>
15
16     <meta http-equiv="pragma" content="no-cache">
17     <meta http-equiv="cache-control" content="no-cache">
18     <meta http-equiv="expires" content="0">
19     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
20     <meta http-equiv="description" content="This is my page">
21     <!--
22     <link rel="stylesheet" type="text/css" href="styles.css">
23     -->
24
25   </head>
26
27   <body>
28   <%
29   request.setAttribute("str1","xvgfdgsdfgfdgg");
30    %>
31    s1:${fn1:toUpperCase(str1)}
32
33     This is my JSP page. <br>
34   </body>
35 </html>
时间: 2024-11-08 12:38:01

自己写 el 函数的相关文章

EL函数以及自定义标签的应用

一.EL函数(调用普通类的静态方法) 编写步骤(自定义EL函数的编写步骤即自定义标签的编写步骤): ①编写一个普通的java类,提供一个静态方法,功能自定,例如下: package cn.wzbrilliant.el; public class ElFunction { public static String toUpperCase(String str){ return str.toUpperCase(); } } ②在JavaWeb应用的WEB-INF目录下建立一个扩展名是tld(tagl

JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)

JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library.JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函数库 和EL来代替传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序可读性.维护性和方便性 JSTL的版本号: JSTL的主要版本号是1.0.1.1和1.2(差别不大) 1.0版本号EL表达式还没有纳入官方规范 1.1和1.2版本号EL表达式已经纳入了官方规范 JSTL1.1 下载对应的jar包

EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例

EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例 EL表达式 1.获取域对象中的值 2.EL表达式支持运算 ${ num1 + num2 } EL获取常用的WEB对象 1.pageScope 获取page域对象的值 2.requestScope 获取request域对象的值 3.sessionScope 获取session域对象的值 4.applicationScope 获取application域对象的值 * 例子:向某个域中来存入值 req

c语言:写一个函数建立一个有3名学生数据的单向动态链表

写一个函数建立一个有3名学生数据的单向动态链表. 解:程序: #include<stdio.h> #include<stdlib.h> #define LEN sizeof(struct Student) struct Student { long num; float score; struct Student *next; }; int n; struct Student *creat(void)//定义函数返回一个指向链表头的指针 { struct Student *head

自定义el函数

1.1.1 自定义EL函数(EL调用Java的函数) 第一步:创建一个Java类.方法必须是静态方法. public static String sayHello(String name){ return "Hello " + name; } 第二步:提供一个tld文件.(tld文件标签库文件.放置在WEB-INF 下) 在tld文件中定义: <!-- 自定义EL函数 --> <function> <!-- 函数名 --> <name>s

写个函数用来对二维数组排序

29.写个函数用来对二维数组排序(新浪) Foreach有两种语法: 语法一:foreach($arr as $value){ Echo $value; } 语法一:foreach($arr as $key=>$value){ Echo $key . "=>" . $value; } 使用foreach遍历二维数组 与数组排序有关的函数: ?  sort():对数组元素的值升序排列,不保留索引关系 ?  rsort():对数组元素的值降序排列,不保留索引关系. ?  aso

javaweb学习总结(三十)——EL函数库

一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库,如下所示: MyEclipse自带的JSTL开发包: fn.tld就是EL函数库的对应的tld描述文件,如下图所示: 在页面中使用JSTL定义的EL函数:<%@taglib uri="http://java.su

重温JSP学习笔记--El函数库

EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> String toUpperCase(String input):把参数转换成大写 String toLowerCase(String input):把参数转换成小写 int indexOf(String input, String substring):从大串,输出小

写一个函数实现数组中的元素随机乱序排序

//原生JS写一个函数实现一个shuffle方法,将数组中的元素随机乱序排序 var shuffle = function(arr){ var len,t,rand; for(var i =0;len = arr.length,i<len;i++){ rand = parseInt(Math.random()*len);//parseInt(Math.random()*(len-1-0)+1);或者rand = Math.floor(Math.random()*(len-1-0)+1);即Mat