1.什么是EL自定义函数
EL自定义函数是在EL表达式中调用的某个java类的静态方法,这个静态方法需在web应用程序中进行配置才可以被EL表达式调用。
EL自定义函数可以扩展EL表达式的功能,让EL表达式完成普通java程序代码所能完成的功能。
2.EL自定义函数开发步骤
编写EL自定义函数映射的java类中的静态方法:这个Java类必须带有public修饰符,方法必须是这个类的带有public修饰符的静态方法;
编写标签库描述文件(tld文件),在tld文件中描述自定义函数;
在jsp页面中导入和使用自定义函数。
3.示例代码
实现的功能是连接两个字符串。
编写静态方法,有public修饰符,且为静态方法,elFunction.java
package com.javaweb.tag; public class elFunction { public static String concat(String str1,String str2){ return str1+str2; } }
编写标签库描述文件,即tld文件,相关的自定义函数的描述在function标签中,elFunction.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 http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <description>MyTag 1.1 core library</description> <display-name>MyTag core</display-name> <tlib-version>1.1</tlib-version> <short-name>c</short-name> <uri>http://java.www.com/jsp/jstl/core/elFunction</uri> <function> <name>concat</name> <function-class>com.javaweb.tag.elFunction</function-class> <function-signature>java.lang.String concat(java.lang.String,java.lang.String)</function-signature> </function> </taglib>
jsp文件中导入和使用自定义函数。
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.www.com/jsp/jstl/core/elFunction" prefix="koala"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>" rel="external nofollow" > <title>My JSP 'elFunction.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" > --> </head> <body> ${koala:concat(param.name1,param.name2)} </body> </html>
运行后输出结果为:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍IOS 自定义UIPickView详解及实例代码,包括了IOS 自定义UIPickView详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 IOS 自定义UIPickView 苹果一直推崇使用原生的组件,自带的UIPickView其实也很漂亮了,看起来也很美观。但是有时候,产品会有一些特殊的设计和需求。本文将会讲解如何修改苹果原生的组件的属性,达到自定义UIPickView的效
本文向大家介绍Android开发之自定义刮刮卡实现代码,包括了Android开发之自定义刮刮卡实现代码的使用技巧和注意事项,需要的朋友参考一下 关于刮刮卡的实现效果不需要做太多解释,特别是在电商APP中,每当做活动的时候都会有它的身影存在,趁着美好周末,来实现下这个效果,也算是对零碎知识点的一个整合。 所涉及的知识点: 1、自定义View的一些流程 2、双缓冲绘图机制 3、Paint的绘图模式
本文向大家介绍tensorflow 自定义损失函数示例代码,包括了tensorflow 自定义损失函数示例代码的使用技巧和注意事项,需要的朋友参考一下 这个自定义损失函数的背景:(一般回归用的损失函数是MSE, 但要看实际遇到的情况而有所改变) 我们现在想要做一个回归,来预估某个商品的销量,现在我们知道,一件商品的成本是1元,售价是10元。 如果我们用均方差来算的话,如果预估多一个,则损失一块钱,
本文向大家介绍Springboot 自定义校验代码实例,包括了Springboot 自定义校验代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Springboot 自定义校验代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 StartWithValidation.class StartWithValidator.clas
本文向大家介绍Java注解Annotation原理及自定义注解代码实例,包括了Java注解Annotation原理及自定义注解代码实例的使用技巧和注意事项,需要的朋友参考一下 什么是注解? 对于很多初次接触的开发者来说应该都有这个疑问?Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方
我可以请求一些帮助吗?我在做代码学院,我完全卡住了。我正在尽我最大的能力遵循指示,但如果有人能为我的问题提供帮助,我将不胜感激。 说明书注意到,如果没有构造函数,我们需要3行代码才能制作出《哈利·波特》,一个代表《哈利·波特第一册》的对象。 然后在第7行中,我们介绍了Book对象的构造函数,其中我们将页面和作者属性作为参数传入。 使用这个构造器制作《霍比特人》,一本由“J.R.R.托尔金”写的书,