编写EL函数

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工程。

转载于:https://www.cnblogs.com/tuifeideyouran/p/4366687.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2016.3.22(关系型数据库简介,管理数据库和表)

数据库的集中式控制有什么优点&#xff1f; 1&#xff1a;降低存储数据的冗余度 2&#xff1a;更高的数据一致性 3&#xff1a;存储数据的可以共享 4&#xff1a;可以建立数据库所遵循的标准 5&#xff1a;便于维护数据完整性 6&#xff1a;能够实现数据的安全性 存储数据有哪些…

java前端ajax提交数据_Java 前端使用Ajax通过FormData传递文件和表单数据到后台

提交1&#xff0c;当仅仅想上传文件到后台function tijiao(){var file $("#image")[0].files[0];//打印file 为对象console.log(file);var formObj new FormData();formObj.set(image, file);$.ajax({url:test/test3,data:formObj,type: POST,dataType:json,proces…

IBM收购以色列应用发现公司EZSource

6月1日晚消息&#xff0c;IBM宣布对以色列公司EZSource进行收购&#xff0c;交易的具体条款没有被披露。 EZSource成立于2003年&#xff0c;以自有视觉面板产品闻名&#xff0c;该公司的产品能够帮助开发人员将重要的大型机应用程序现代化。该公司在以色列、英国、美国、瑞士、…

oracle存储过程+游标处理select数据

create or replace PROCEDURE UPDATE_RECORDCODE iscursor location_data is select * from location where remark in(952701,9527008,952705);--申明游标serviceCode NUMBER:1; BEGINfor l in location_data loop --遍历游标BEGIN--业务处理UPDATE SERIAL_CODE SET CUR_NUMB…

POJ 3617 Best Cow Line(最佳奶牛队伍)

POJ 3617 Best Cow Line Time Limit: 1000MS  Memory Limit: 65536K 【Description】 【题目描述】 FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual "Farmer of the Year" competition. In this contest every farmer arranges his cows in a …

js blob php_js发送blob数据, php端接收blob数据

服务器环境CentOs7.4 php7print_r($_FILES)blob结构如下Array([blob] > Array([name] > blob[type] > image/jpeg[tmp_name] > /tmp/phpu37qnN[error] > 0[size] > 1175745))很纳闷这个结构为什么没有图片数据流&#xff0c;只有图片的信息闷了几个小时胡…

eclipse环境配置、快捷键及基本操作

Eclipse与MyEclipse的区别 Elipse是一种可扩展的开放源代码的集成开发环境&#xff0c;具有免费、纯java语言编写、免安装、扩展性强等特点。 MyElipse在Elipse基础上追加的功能性插件&#xff0c;对插件收费&#xff0c;在WEB开发中提供强大的系统架构平台。 工作空间的基本配…

php 枚举类型比较,枚举的比较-python编程入门系列图文教程-PHP中文网教程

因为枚举成员不是有序的&#xff0c;所以它们只支持通过标识(identity) 和相等性 (equality) 进行比较。下面来看看 和 is 的使用&#xff1a;#!/usr/bin/env python3# -*- coding: UTF-8 -*-from enum import Enumclass User(Enum):Twowater 98Liangdianshui 30Tom 12Twow…

我与C++的不解情缘

我是一个老实人&#xff0c;我当时报考C真的全心是为了自己自考的免考&#xff0c;绝不是为了什么二级证&#xff0c;可是&#xff0c;进行到一半的时候&#xff0c;突然获悉&#xff0c;C自我们这次开始&#xff0c;不作为免考科目了&#xff0c;当时我的心里啊&#xff0c;那…

hadoop之 Hadoop2.2.0中HDFS的高可用性实现原理

在Hadoop2.0.0之前&#xff0c;NameNode(NN)在HDFS集群中存在单点故障&#xff08;single point of failure&#xff09;&#xff0c;每一个集群中存在一个NameNode&#xff0c;如果NN所在的机器出现了故障&#xff0c;那么将导致整个集群无法利用&#xff0c;直到NN重启或者在…

3D坦克大战游戏源码

3D坦克大战游戏源码&#xff0c;该游戏是基于xcode 4.3&#xff0c;ios sdk 5.1开发。在xcode4.3.3上完美无报错。兼容ios4.3-ios6.0 &#xff0c;一款ios平台上难得的3D坦克大战游戏源码&#xff0c;有20张不同的作战地图。通过左下角方向键和重力感应来控制坦克运行&#xff…

mongodb php 扩展 linux,CentOS Linux 安装PHP的MongoDB扩展

一、下载、编译以及安装MongoDB的php扩展cd /data0/softwaregit clone git://github.com/mongodb/mongo-php-drivercd mongo-php-drivergit submodule initgit submodule update/usr/local/webserver/php/bin/phpize./configure --with-php-config/usr/local/webserver/php/bin…

The hierarchy of the type UserOperateLogAdvisor is inconsistent

加入 aopalliance-1.0.jar转载于:https://www.cnblogs.com/toSeeMyDream/p/4375962.html

Acrobat DC发布一周年 激活移动时代文件处理革命

“我们很高兴地看到&#xff0c;Adobe Acrobat DC推出一年以来&#xff0c;在包括AEC在内的多个行业获得了广泛的应用&#xff0c;受到了普遍的欢迎和高度的认可。”Adobe高级渠道销售经理马骥在研讨会上指出&#xff0c;“整合了多种智能工具的Adobe Acrobat DC大大推动了企业…

介绍一个轻量级iOS安全框架:SSKeyChain

SSKeyChains对苹果安全框架API进行了简单封装&#xff0c;支持对存储在钥匙串中密码、账户进行访问&#xff0c;包括读取、删除和设置。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。 项目地址&#xff1a;https://github.com/samsoffes/sskeychain 在工程中加入SSK…

java编程基础素数实验报告,JAVA 基础编程练习题1 (输出素数)

JAVA 基础编程练习题1 (输出素数)JAVA 基础编程练习题1 (输出素数)题目&#xff1a;判断 101-200 之间有多少个素数&#xff0c;并输出所有素数。程序分析&#xff1a;判断素数的方法&#xff1a;用一个数分别去除 2 到 sqrt(这个数)&#xff0c;如果能被整除&#xff0c;则表明…

Go语言在扫码支付系统中的成功实践

今天的内容主要分四个方面。第一&#xff0c;金融支付系统的一些特点;第二&#xff0c;我们的扫码支付系统技术选型;第三&#xff0c;系统迭代过程中的架构演进;第四&#xff0c;与Go相关的一些坑。 金融支付系统的一些特点 图 1 首先从业务流程入手&#xff0c;其实非常简单。…

一站式学习Wireshark(七):Statistics统计工具功能详解与应用

Wireshark一个强大的功能在于它的统计工具。使用Wireshark的时候&#xff0c;我们有各种类型的工具可供选择&#xff0c;从简单的如显示终端节点和会话到复杂的如Flow和IO图表。本文将介绍基本网络统计工具。包括&#xff1a;捕捉文件摘要&#xff08;Summary&#xff09;,捕捉…

UIKit框架各个类的简介

1.UIAcceleration: 被叫做加速事件的一个UIAcceleration类的实例是用来代表即时的三维加速数据。为了接收重力加速度&#xff0c;要注册一个应用应用程序作为一个共享UIAccelerater对象的委托对象&#xff08;参考UIAcceleromete类&#xff09;。 2. UIAccelerater: UIAccelera…

php堆是什么,PHP 堆与堆排序的详解

堆排序&#xff1a;堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆堆实际上是一棵完全二叉树&#xff0c;其任何一非叶节点满足性质&#xff1a;Key[i]<key[2i1]&&Key[i]<key[2i2]或者Key[i]>Key[2i1]&&key>key[2i2]即任何一非叶…