自定义EL函数

1.做一个类(静态)

package com.maya.el;public class ELBiaoDaoShi {public static String TiHuan(String s){String txt=s.replaceAll("\"", "&quote;").replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">", "&gt;");return txt;}}

2.配置:

在WEB-INF文件夹下创建后缀名为  .tld   文件在jstl的jar文件fn中(复制粘贴)

<?xml version="1.0" encoding="UTF-8" ?>
<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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"version="2.0"><description>自定义EL函数</description>        <display-name>自定义函数</display-name><tlib-version>1.0</tlib-version><short-name>fn</short-name><uri>http://com.maya.el/myel</uri><function><description>对于特殊字符的转化</description><name>zh</name><function-class>com.maya.el.ELBiaoDaoShi</function-class><function-signature>String ZhuanHuan(java.lang.String) </function-signature><example></example></function></taglib>

3、导包、调用

<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ taglib prefix="my" uri="http://com.maya.el/myel" %>    <!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>Insert title here</title>
</head>
<body>
${ my:zh("<h1>hehe</h1>")}</body>
</html>

输出结果如下

自定义JSTL标签

自定义jstl标签与自定义EL函数相似

做一个类,派生自SimpleTagSupport(继承)

重写doTag()方法   (  a/t  + /  )

package com.maya.jstl;import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.*;public class MyJSTL extends SimpleTagSupport {private int s;public void setS(int s) {this.s = s;}@Overridepublic void doTag() throws JspException, IOException {JspFragment frag=this.getJspBody();      //获取标签中的值for(int i=0; i<s; i++){frag.invoke(null);              }}}

2、同样是在WEB-INF下建一个   .tid   配置文件

在WEB-INF文件夹下创建后缀名为  .tld   文件在jstl的jar文件c中(复制粘贴)

<?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>自定义的一些jstl标签</description><display-name>自定义jstl</display-name><tlib-version>1.0</tlib-version><short-name>myjstl</short-name><uri>http://com.maya.jstl/myjstl</uri><tag><description></description><name>forxh</name><tag-class>com.maya.jstl.MyJSTL</tag-class><body-content>scriptless</body-content><!--属性  --><attribute><description></description><name>s</name>     <!--属性名称  --><required>true</required>        <!--是否为必须   true为必须  --><rtexprvalue>false</rtexprvalue>   <!--是否可以用EL表达式 --></attribute></tag></taglib>

3、引用

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@taglib prefix="my" uri="http://com.maya.jstl/myjstl" %>
<!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>Insert title here</title>
</head>
<body>
<my:forxh s="5">a</my:forxh>
</body>
</html>

显示结果如下

转载于:https://www.cnblogs.com/zhaotiancheng/p/6393708.html

自定义EL函数、自定义JSTL标签相关推荐

  1. 自定义EL函数解决JSTL标签不足之处——按字节长度截取字符串

    题外话:做过大型网站前台的Web开发程序员最头疼的事情就是前台首页的布局,这其中最最头疼的就是标题字符的截取的问题,虽然有fn:substring,但表现率以及对中文的支持均不够完善,其实最终还是归结 ...

  2. spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)

    EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <%= %> j2ee1.4以前版本需指定<%@ page is ...

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

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

  4. [转]EL函数、自定义EL函数、自定义标签

    EL函数 1.EL函数的作用:操作字符串 2.在JSP页面中要引入EL函数库 <%@ taglib prefix="fn" uri="http://java.sun ...

  5. jsp 将java对象转json对象 (自定义EL函数)

    功能:在 jsp 页面将 java对象 转换为 json对象 (使用自定义EL函数实现) 步骤: 1. 创建 JSP EL 工具类 2. 创建 tld 文件 3. 配置 web.xml 文件 4. 完 ...

  6. 28. EL 表达式 以及 JSTL 标签库

    28. EL 表达式 以及 JSTL 标签库 1.EL 表达式 a)什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达 ...

  7. java el表达式 if else_jsp EL表达式和JSTL标签if-else if-else用法

    java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法 一.条件运算符 ${user.gender==?'男':'女'} 二.if() code.. ...

  8. java标签库jstl-el表达式介绍使用配置手册_JAVA EE 实验报告EL表达式和jstl标签库的使用...

    昆明理工大学信息工程与自动化学院学生实验报告 ( 2013 -2014 学年第一学期) 课程名称:Java EE技术开课实验室:系机房444 2013 年 12月2 日年级.专业.班计科111 学号姓 ...

  9. JavaWeb EL表达式, JSTL标签及过滤器综合学习

    1.项目结构如右边图所示: (1)controller.filter包下面定义2个过滤器,EncodingFilter 类CheckUserFilter类(后面会有一个登陆验证的过滤器的测试学习), ...

最新文章

  1. pat 1025 反转链表
  2. 使用View modification扩展SAP Fiori应用的一个案例
  3. python读取excel,数字都是浮点型,日期格式是数字的解决办法
  4. c语言固定长度的字符串,【分享】C语言动态长度字符串
  5. Linux启动syslog进程,linux – 使用systemd启动的进程正在记录到/ var / log / syslog和/var/log/daemon.log...
  6. essential c++源码_Goldenmask - 一键化保护你的 Python 源码
  7. Async Python 竟不比sync Python 快,怎么回事?
  8. MFC编程入门之十(对话框:设置对话框控件的Tab顺序)
  9. HttpClient 教程 (六)
  10. Python数据分析与机器学习项目实战
  11. digester java_Java XML解析之Digester的使用
  12. 三阶魔方还原步骤图_三阶魔方公式图解、教程
  13. Labelling tools 的环境配置
  14. 夜深人静写算法(一)- 搜索入门
  15. Win10系统导出证书私钥及公钥
  16. 通过GRUB引导U盘为引导活动区,从硬盘安装win8 64bit
  17. Windows上CLion配置和使用教程
  18. 【个人C++学习日记】
  19. Misra-C编码规范全解读 - 总目录
  20. 云时代架构系列经典技术书籍

热门文章

  1. GDCM:二个DICOM文件的diff差异的测试程序
  2. GDCM:显示GDCM Dict的测试程序
  3. GDCM:排序图片的测试程序
  4. VTK:相互作用之RubberBandPick
  5. VTK:图片之NegativeIndices
  6. Qt Creator调试
  7. Qt Creator使用版本控制系统
  8. C语言DP备忘计算指数N的斐波那契级数的算法(附完整源码)
  9. OpenGL Julia Fractal(Julia分形)的实例
  10. iphone微信美颜插件_iPhone、安卓微信自动更新,又有新功能?