1.建立java类的静态函数

package chapter4;

public class ELFun {
public static String processStr(String s){
s = s.replaceAll("<", "&lt");
s = s.replaceAll(">", "&gt");
s = s.replaceAll(" ", " ");
return s;
}
}

在WEB-INF目录中建立一个tld目录,然后再目录中建立一个elfun.tld文件

<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<jsp-version>2.1</jsp-version>
<description>用于转换特殊字符</description>
<uri>myelfun</uri> <!-- 定义URI -->
<function>
<name>ps</name>
<function-class>chapter4.ELFun</function-class>
<function-signature>
java.lang.String processStr(java.lang.String)
</function-signature>
</function>
</taglib>

修改web.xml文件,添加如下代码

<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/tld/elfun.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/elfun.tld</taglib-location>
</taglib>
</jsp-config>

建立一个elfun.jsp文件,需要在声明中导入tld文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tld/elfun.tld" prefix="elfun" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> </head> <body>
<input type='text' name='text'/>
${elfun:ps("<input type='text' name='text'/>") }
</body>
</html>

除了使用tld文件的路径引用tld文件外,还可以使用在tld文件中定义的url引用tld文件

例如:<%@ taglib uri="elfun" prefix="elfun" %>

但为了避免冲突,url在外发布时最好带上域名,例如http://www.sun.com/myelfun

如果使用路径引用tld文件,tld文件可以放到web工程中的任何目录下,并且无需重新服务器即可生效。

如果使用url来引用tld文件,tld文件必须放到web-inf目录中或web-inf目录的子文件中,包括lib和classes目录,且必须重新服务器或重新发布web工程。

编写EL函数的更多相关文章

  1. [JSP]自定义EL函数以及使用

    有时候在JSP页面需要进行一连串的字符串的处理,需要进行自定义EL函数. 先看EL函数的tld文件: standard.jar下面: 自定义EL函数: 1.编写EL函数(全是public static ...

  2. 11 JSP/EL表达式/EL函数

    JSP      * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行      * JSP的运行原 ...

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

    一.EL函数(调用普通类的静态方法) 编写步骤(自定义EL函数的编写步骤即自定义标签的编写步骤): ①编写一个普通的java类,提供一个静态方法,功能自定,例如下: package cn.wzbril ...

  4. EL表达式 JSTL中的常用EL函数 动态数据的国际化

    ELppt: EL 全名为Expression Language.EL主要作用: 获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.( ...

  5. 自定义一个EL函数

    自定义一个EL函数 一般就是一下几个步骤,顺便提供一个工作常用的 案例: 1.编写一个java类,并编写一个静态方法(必需是静态方法),如下所示: public class DateTag { pri ...

  6. EL函数和自定义EL函数

    简介 EL原本是JSTL1.0中的技术(所以EL和JSTL感情如此好就是自然的了),但是从JSP2.0开始,EL就分离出来纳入了JSP的标准了.但是EL函数还是和JSTL技术绑定在一起.下面将介绍如何 ...

  7. jsp web JavaBean MVC 架构 EL表达式 EL函数 JSTL

     一.JavaBean概念(非常重要) 1.JavaBean就是遵循一定书写规范的Java类型(开发中:封装数据) a.必须有默认的构造方法,类必须是public的   public class  ...

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

    JSTL  JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用:   提供给Java Web开发者一个标准通用的标签函数库   和E ...

  9. 【JSP】EL函数和自定义EL函数

    简介 EL原本是JSTL1.0中的技术(所以EL和JSTL感情如此好就是自然的了),但是从JSP2.0开始,EL就分离出来纳入了JSP的标准了.但是EL函数还是和JSTL技术绑定在一起.下面将介绍如何 ...

随机推荐

  1. 三维CAD塑造——基于所述基本数据结构一半欧拉操作模型

    三维CAD塑造--基于所述基本数据结构一半欧拉操作模型(elar, B_REP) (欧拉操作  三维CAD建模课程 三维CAD塑造 高曙明老师  渲染框架 brep 带洞 带柄 B_REP brep ...

  2. JavaScript之获取和设置元素属性

    1.与我前面的随笔获取元素的那些方法不同http://www.cnblogs.com/GreenLeaves/p/5689075.html 获取元素属性的方法getAttribute()不属于docu ...

  3. 由RGB到HSV颜色空间的理解

    1. RGB模型 2. HSV模型 3. 如何理解RGB与HSV的联系 4. HSV在图像处理中的应用 5. opencv中RGB-->HSV实现 在图像处理中,最常用的颜色空间是RGB模型,常 ...

  4. 关于"cin>>"输入成功或失败时的“返回值”(转载)

    今天在看c++primer的时候,读到其中这样一段话: When we use an istream as a condition, the effect is to test the state o ...

  5. csapp lab3 bufbomb 缓存区溢出攻击 《深入理解计算机系统》

    这个实验主要是熟悉栈,和了解数据缓存区溢出的问题. 数据缓存区溢出:程序每次调用函数时,会把当前的eip指针保存在栈里面,作为被调用函数返回时的程序指针.在被调用程序里面,栈是向下增长的.所有局部变量 ...

  6. WSDL规则解释(转)

    转自:http://www.blogjava.net/baoyaer/articles/116413.html WSDL文档可以分为两部分.顶部分由抽象定义组成,而底部分则由具体描述组成.抽象部分以独 ...

  7. JQuery初识

    一.什么是JQuery       JQuery官方网站上是这样解释的:JQuery是一个快速简洁的JavaScript库,它可以简化HTML文档的元素遍历.事件处理.动画及Ajax交互,快速开发We ...

  8. jquery选择器结果是数组时需要主要的一个问题

    代码很简单,如下 <div id="div1"> <span>111</span> <span>222</span> & ...

  9. 【转】CentOS图形界面的开启与关闭

    源自:http://blog.sina.com.cn/s/blog_4a1f76860100zpus.html 安装CentOS 5.6系统的时候我没有先装任何组件,现在用X Window,需要再安装 ...

  10. 树莓派高级GPIO库,wiringpi2 for python使用笔记(一)安装

    网上的教程,一般Python用RPi.GPIO来控制树莓派的GPIO,而C/C++一般用wringpi库来操作GPIO,RPi.GPIO过于简单,很多高级功能不支持,比如i2c/SPI库等,也缺乏高精 ...