EL和函数库

问题:在数据显示的时候经常需要调用一些方法对需要显示的数据进行基本的处理,如:

数据过滤、求子串等操作。那么就需要使用EL表达式进行快速的函数调用。

  1. 引入HTMLFilter.java类

  2. 描述为函数

2.1 在WEB-INF中创建一个myfun.tld文件


 1 <?xml version="1.0" encoding="UTF-8"?>
2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
5 version="2.0">
6 <tlib-version>1.0</tlib-version>
7 <short-name>jnb</short-name>
8 <function>
9 <name>filter</name>
10 <function-class>cn.itcast.utils.HTMLFilter</function-class>
11 <function-signature>java.lang.String filter(java.lang.String)</function-signature>
12 </function>
13 </taglib>

类 cn.itcast.utils.HTMLFilter


 1 public final class HTMLFilter {
2 public static String filter(String message) {
3 if (message == null)
4 return (null);
5 char content[] = new char[message.length()];
6 message.getChars(0, message.length(), content, 0);
7 StringBuffer result = new StringBuffer(content.length + 50);
8 for (int i = 0; i < content.length; i++) {
9 switch (content[i]) {
10 case ‘<‘:
11 result.append("&lt;");
12 break;
13 case ‘>‘:
14 result.append("&gt;");
15 break;
16 case ‘&‘:
17 result.append("&amp;");
18 break;
19 case ‘"‘:
20 result.append("&quot;");
21 break;
22 default:
23 result.append(content[i]);
24 }
25 }
26 return (result.toString());
27
28 }
29 }

1.2    引入函数库

%@taglib
uri="/WEB-INF/myfuns.tld" prefix="jnb"%

1.3    使用EL调用函数

<td>${jnb:filter(entry.value.info)}</td>

注意:

  1. EL表达式中不能继续嵌套EL表达式

  2. 定义函数的时候函数必须是静态的。

EL和函数库,布布扣,bubuko.com

时间: 2024-10-19 00:03:06

EL和函数库的相关文章

day12(jsp指令&内置对象&动作标签、JavaBean、EL表达式&函数库)

day12 JSP指令 JSP指令概述 JSP指令的格式:<%@指令名 attr1="" attr2="" %>,一般都会把JSP指令放到JSP文件的最上方,但这不是必须的. JSP中有三大指令:page.include.taglib,最为常用,也最为复杂的就是page指令了. 2 page指令 page指令是最为常用的指定,也是属性最多的属性! page指令没有必须属性,都是可选属性.例如<%@page %>,没有给出任何属性也是可以的!

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):从大串,输出小

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三大指令,九大内置对象,JSP动作标签,EL表达式与函数库

JSP三大指令 ---------------------------------------------- 一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:格式:<%@page language="java" info="xxx"...%> * pageEncoding和contentType: > pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.jav

jsp三大指令,九大内置对象,JSP动作标签,EL表达式及函数库

JSP三大指令 一个jsp页面中,可以有0~N个指令的定义! page –> 最复杂:格式:<%@page language="java" info="xxx"-%> pageEncoding和contentType: pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding! contentType:它表示添加一个响应头:Content-Type!等同于r

javaWeb学习总结(10)- EL函数库(2)

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

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

EL的函数与标签

1 什么EL函数库 EL函数库是由第三方对EL的扩展,我们现在学习的EL函数库是由JSTL添加的.下面我们会学习JSTL标签库. EL函数库就是定义一些有返回值的静态方法.然后通过EL语言来调用它们!当然,不只是JSTL可以定义EL函数库,我们也可以自定义EL函数库. EL函数库中包含了很多对字符串的操作方法,以及对集合对象的操作.例如:${fn:length(“abc”)}会输出3,即字符串的长度. 2 导入函数库 因为是第三方的东西,所以需要导入.导入需要使用taglib指令! <%@ ta