`

JSP2开发EL语言的自定义函数

    博客分类:
  • J2EE
 
阅读更多

表达式是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>

 

分享到:
评论

相关推荐

    JSP EL 自定义函数

    在JSP EL中,自定义函数可以用来创建可重用的代码片段,提高开发效率,并且使页面逻辑更加清晰。 EL是JSP2.0引入的一种轻量级脚本语言,主要用于访问JavaBeans属性和执行简单的运算。然而,它的基本功能可能不足以...

    EL自定义函数引用

    EL自定义函数可以让开发者扩展EL的功能,通过定义自己的函数来处理复杂的逻辑,而无需在JSP页面中编写Java代码片段。接下来将详细介绍EL自定义函数的实现步骤,并通过一个具体的示例来展示如何实现。 #### 1. 开发...

    自定义EL函数

    在Java Web开发中,Expression Language(EL)是一种强大的表达式语言,用于在JSP页面、JSF组件或者Servlet中访问和操作JavaBeans属性。EL提供了一种简洁的方式来获取和设置对象的属性,以及调用对象的方法。然而,...

    EL自定义函数

    总之,“EL自定义函数”这个主题涉及了Java Web开发中的一个重要概念,它允许开发者扩展EL的能力,以满足特定的业务需求。结合源码分析和实际的测试案例,可以加深对这一技术的理解并提高实际应用能力。

    jsp2.0 自定义标签和自定标签函数

    在JSP页面的EL表达式中,可以直接调用自定义函数,如`${myFunction('参数')}`。 **三、示例解析** "jsp 2.0自定义标签.doc"文件很可能包含了一个关于如何创建和使用自定义标签的详细教程。它可能涵盖了从创建TLD...

    java自定义标签、自定义函数、taglib

    自定义函数类似于Java中的方法,可以在JSP表达式语言(EL, Expression Language)中直接调用。创建自定义函数的过程如下: 1. 创建函数类(Function Class):实现`javax.servlet.jsp.jstl.core.Functions`接口或者...

    在JSP页面用EL表达式调用一些函数

    EL(Expression Language,表达式语言)是JavaServer Pages(JSP)技术的一个重要组成部分,它的主要目的是简化JSP页面中的脚本编写,使得开发者能更专注于页面展示逻辑,而不是底层的Java代码。EL表达式通常用于...

    JSTL自定义EL表达式

    4. 在JSP页面中使用:在JSP页面中,你可以像使用内置EL函数一样,通过`my:myFunction`这种形式调用你的自定义函数,其中`my`是函数库的前缀,`myFunction`是函数名。 举例来说,假设我们有一个自定义函数库,名为`...

    模糊查:关键字加红色((用el自定义函数给关键字加颜色的方法[作用:直接用于jsp页面输出]

    模糊查:关键字加红色((用el自定义函数给关键字加颜色的方法[作用:直接用于jsp页面输出]

    Javaweb EL自定义函数开发及代码实例

    2. 开发EL自定义函数的步骤: - **编写静态方法**:首先,创建一个公共类(public class)并在其中定义一个或多个带有public修饰符的静态方法。这些方法将作为EL自定义函数的核心实现。例如,在上面的示例中,创建...

    el函数,el,el表达式,el函数,fn

    EL(Expression Language)表达式是Java Web开发中常用的一种简洁的脚本语言,主要用于在JSP页面中获取对象的值或调用方法。它简化了JavaBean属性的访问方式,提高了代码的可读性和维护性。EL表达式的功能可以通过...

    EL调用Java函数(想dwr里那样的调用)

    在Web开发中,EL(Expression Language)是一种用于在JSP页面中访问JavaBean属性和执行简单操作的语言。它简化了视图层与模型层的数据交互。然而,有时我们需要在EL表达式中调用Java方法,这通常是通过自定义EL函数...

    jstl自定义函数[文].pdf

    2. **编写TLD文件**:TLD(Tag Library Descriptor)文件是描述你的自定义函数库的XML文件。在这个文件中,你需要指定函数的URI(Uniform Resource Identifier),这将帮助JSP找到你的TLD文件。此外,你还需要定义`...

    jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

    JSTL(JavaServer Pages Standard Tag Library)提供了一套核心标签库,增加了流程控制和循环控制功能,通过自定义函数等增强功能,基本上可以替代原有的scriptlet编程方式,使JSP页面的格式更加统一和规整。...

    自定义EL表达式

    最后,我们需要在JSP页面中引入我们的自定义函数库,并在EL表达式中使用它。在`elTest.jsp`页面中,我们添加以下代码: ```jsp ... ${m:getFruit("10") } ``` 这里,`prefix="m"`是我们为自定义函数库选择的前缀,...

    jsp2.0-el,网页方便的jl语言

    4. **函数支持**:EL支持自定义函数库,可以调用Java类库中的方法,增强了其功能性和灵活性。 5. **与JSF集成**:EL是JavaServer Faces(JSF)框架的核心部分,可以方便地与JSF组件进行交互。 **EL表达式的类型** ...

    从JSTL和STRUTS的TLD文件到自定义EL函数

    在Java Web开发中,特别是在使用JSP技术时,我们经常需要使用到一些预定义好的标签库来简化页面的开发过程。JSTL(JavaServer Pages Standard Tag Library)和Struts框架所提供的标签库就是这样的例子。为了能在JSP...

    JSTL 开发自定义标签使用的jar

    JSTL,全称JavaServer Pages Standard Tag Library,是Java服务器页面的标准标签库,它提供了一系列的标签来简化JSP开发,使得开发者可以使用更易读、易维护的标签代替复杂的Java代码。JSTL主要包含核心标签库(Core...

    jsp自定义标签库注意事项

    - 字符串连接:EL不支持直接使用"+"进行字符串拼接,需要转换为数字类型或使用自定义函数。 - 访问数据:使用`.`或`[]`操作符,`[]`可以访问集合、数组或Bean属性。例如,`${sessionScope.user.sex}`和`${...

Global site tag (gtag.js) - Google Analytics