表达式是JSP2的一个重要特性,它是仅仅是一种数据访问语言,可以方便地访问应用程序的数据,避免使用JSP脚本。
注:如果想系统认为$是符号,则需要在前面加转义字符"\"
1、表达式语言支持算术运算符和逻辑运算符。
2、表达式语言有11个内置对象
pageContext
pageScope
requestScope
sessionScope
applicationScope
param
paramValues 属性值为数组
header 请求头的属性值
headerValues 数组
initParam Web应用初始化参数
cookie
3、表达式语言的自定义函数
表达式语言除了可以使用基本的运算符外,还可以使用自定义函数。通过自定义函数,能够大大加强表达式语言的功能。自定义函数的开发步骤非常类似标签的开发步骤,定义方式也几乎一样。区别在于自定义标签直接在页面上生成输出,而自定义函数则需要在表达式语言中使用。
注:函数功能大大扩充了EL的功能,EL本身只是一种数据访问语言,因此它不支持调用方法。如果需要在EL中进行更复杂的处理,就可以通过函数来完成。函数的本质是:提供一种语法允许在EL中调用某个类的静态方法。
下面介绍表达式语言中自定义函数的开发步骤。
1)开发函数处理类:函数处理类就是函数类,这个普通类中包含若干个静态方法,每个静态方法都可以定义成一个函数。实际上这个步骤也是可省略的——完全可以直接使用JDK或者其他项目提供的类,只要这个类包含静态方法即可。
public class Functions { public static String reverse(String text) { return new StringBuffer(text).reverse().toString(); } public static int countChar(String text) { return text.length(); } }
2)使用标签库定义函数:定义函数的方法与定义标签的方法大致相似。增加标签是在<taglib.../>下添加<tag.../>元素,而添加函数则是
添加<function.../>
<?xml version="1.0" encoding="GBK" ?> <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 web-jsptaglibrary_2_0.xsd" version="2.0"> <!-- TLD版本 --> <tlib-version>1.0</tlib-version> <!-- 标签库的名称 --> <short-name>mytaglib</short-name> <!-- 标签库的URI,唯一 --> <uri>http://www.crazyit.org/mytaglib</uri> <!-- 定义EL函数 --> <function> <!-- 定义函数名 --> <name>reverse</name> <!-- 定义函数的处理类 --> <function-class>org.test.Functions</function-class> <!-- 定义函数的实现方法 --> <function-signature>java.lang.String reverse(java.lang.String)</function-signature> </function> </taglib>
3)在JSP页面的EL中使用函数:一样需要先导入标签库,然后再使用函数。
<!-- 指定错误页面error.jsp --> <%@ page language="java" errorPage="error.jsp" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ page import="java.util.*" %> <%@ page import="org.test.*" %> <!-- 如果想要支持EL语言必须把这个EL支持打开,否则默认是不支持的 如果想整个服务下都支持,则需要在Web服务器上设置 --> <%@ page isELIgnored="false" %> <!-- 1、引入需要使用的标签库,uri是标签库的唯一标识,prefix为前缀 --> <%@ taglib uri="http://www.crazyit.org/mytaglib" prefix="mytag" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>pageContext测试</title> </head> <body> <!-- 使用EL自定义函数 --> <span>${mytag:reverse('abc') }</span> </body> </html>
相关推荐
EL自定义函数实现步骤: 1.开发函数处理类,即普通的Java类;每个函数对应类中的一个静态方法。 2. 建立TLD(Tag Library Descriptor),定义表达式函数。...4.在JSP页面中使用自定义函数,实现EL自定义函数引用。
NULL 博文链接:https://snowelf.iteye.com/blog/737784
模糊查:关键字加红色((用el自定义函数给关键字加颜色的方法[作用:直接用于jsp页面输出]
内容包括JSP与Web技术概论、初探JSP、Java与JSP、JSP程序设计基础、JSP内建对象、表单与交互式网页、JSTL与标签函数库、EL、灵活设计JSP网页、文件I/O技术、Java Mail与联机邮件、JSP与XML、JDBC与数据库系统、数据...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
12-2 JSP 开发工具介绍 12-3 Eclipse 简介与安装 12-4 使用 Eclipse 开发 Hello World 12-5 使用 Eclipse 开发 Web Application 12-6 使用 Eclipse 来开发 Web Application(2) 第十三章 SQL 介绍 13-1 数据库基本...
JSP EL语言定义 E L(Expression Language)目的:为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...