自定义EL函数、自定义JSTL标签
自定义EL函数
1.做一个类(静态)
package com.maya.el;public class ELBiaoDaoShi {public static String TiHuan(String s){String txt=s.replaceAll("\"", ""e;").replaceAll("&","&").replaceAll("<","<").replaceAll(">", ">");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标签相关推荐
- 自定义EL函数解决JSTL标签不足之处——按字节长度截取字符串
题外话:做过大型网站前台的Web开发程序员最头疼的事情就是前台首页的布局,这其中最最头疼的就是标题字符的截取的问题,虽然有fn:substring,但表现率以及对中文的支持均不够完善,其实最终还是归结 ...
- spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)
EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <%= %> j2ee1.4以前版本需指定<%@ page is ...
- JAVAWEB开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
JSTL JSTL简介: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发人员一个标准通用的标签函数库 和EL ...
- [转]EL函数、自定义EL函数、自定义标签
EL函数 1.EL函数的作用:操作字符串 2.在JSP页面中要引入EL函数库 <%@ taglib prefix="fn" uri="http://java.sun ...
- jsp 将java对象转json对象 (自定义EL函数)
功能:在 jsp 页面将 java对象 转换为 json对象 (使用自定义EL函数实现) 步骤: 1. 创建 JSP EL 工具类 2. 创建 tld 文件 3. 配置 web.xml 文件 4. 完 ...
- 28. EL 表达式 以及 JSTL 标签库
28. EL 表达式 以及 JSTL 标签库 1.EL 表达式 a)什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达 ...
- 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.. ...
- java标签库jstl-el表达式介绍使用配置手册_JAVA EE 实验报告EL表达式和jstl标签库的使用...
昆明理工大学信息工程与自动化学院学生实验报告 ( 2013 -2014 学年第一学期) 课程名称:Java EE技术开课实验室:系机房444 2013 年 12月2 日年级.专业.班计科111 学号姓 ...
- JavaWeb EL表达式, JSTL标签及过滤器综合学习
1.项目结构如右边图所示: (1)controller.filter包下面定义2个过滤器,EncodingFilter 类CheckUserFilter类(后面会有一个登陆验证的过滤器的测试学习), ...
最新文章
- pat 1025 反转链表
- 使用View modification扩展SAP Fiori应用的一个案例
- python读取excel,数字都是浮点型,日期格式是数字的解决办法
- c语言固定长度的字符串,【分享】C语言动态长度字符串
- Linux启动syslog进程,linux – 使用systemd启动的进程正在记录到/ var / log / syslog和/var/log/daemon.log...
- essential c++源码_Goldenmask - 一键化保护你的 Python 源码
- Async Python 竟不比sync Python 快,怎么回事?
- MFC编程入门之十(对话框:设置对话框控件的Tab顺序)
- HttpClient 教程 (六)
- Python数据分析与机器学习项目实战
- digester java_Java XML解析之Digester的使用
- 三阶魔方还原步骤图_三阶魔方公式图解、教程
- Labelling tools 的环境配置
- 夜深人静写算法(一)- 搜索入门
- Win10系统导出证书私钥及公钥
- 通过GRUB引导U盘为引导活动区,从硬盘安装win8 64bit
- Windows上CLion配置和使用教程
- 【个人C++学习日记】
- Misra-C编码规范全解读 - 总目录
- 云时代架构系列经典技术书籍