Taglib原理和实现:再论El和JST
问题:你想和JSTL共同工作。比如,在用自己的标签处理一些逻辑之后,让JSTL处理余下的工作。
看这个JSP例子:
<% String name="diego"; request.setAttribute("name",name); %> <c:out value="${name}"/> ...... |
许多JSTL标签支持El表达式,所以,只要你在自己的标签内部把值塞进request,其他jstl标签就能使用它们
下面这个例子,从request里面取得对象,找到它属性的值,塞到request里去。
package diegoyun;
import javax.servlet.jsp.JspException; public class SetVarTag extends TagSupport |
编写TLD
<!--SetVarTag--> <tag> <name>set</name> <tag-class>diegoyun.SetVarTag</tag-class> <body-content>empty</body-content> <attribute> <name>value</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>property</name> <required>false</required> <rtexprvalue>false</rtexprvalue> </attribute> <attribute> <name>var</name> <required>false</required> <rtexprvalue>false</rtexprvalue> </attribute> </tag> |
编写JSP
<%@ page language="java" %> <%@ page import="diegoyun.vo.*"%> <%@ taglib uri="/WEB-INF/tlds/diego.tld" prefix="diego"%> <%@ taglib uri="/WEB-INF/tlds/c.tld" prefix="c"%> <html> <body bgcolor="#FFFFFF"> <% Man man = new Man(); man.setName("diego"); request.setAttribute("man",man); %> Get value from request and set it's property value into request:<br> <diego:set value="${man}" property="name" var="myname"/> now use OutTag of jstl taglib to get the name:<br> value is : <c:out value="${myname}" /> </body> |
运行,效果如下:
Get value from request and set it's property value into request: now use OutTag of jstl taglib to get the name: value is : diego |
结束语
和JSTL交互是非常有用的技术。在JSTL里提供了许多完成基本功能的标签,如输出,循环,条件选择等。仅在处理自己特定逻辑的时候才实现自己的标签,并提供和jstl交互,能大大提高重用性和减少工作量。
L标签
转载于:https://www.cnblogs.com/tonyzhangtl/archive/2009/11/17/1604977.html
Taglib原理和实现:再论El和JST相关推荐
- taglib 原理和实现[转载]
第一章:taglib 原理和实现 1.问题:Tag究竟是什么? 如何实现一个Tag? 一个tag就是一个普通的java类,它唯一特别之处是它必须继承TagSupport或者BodyTagSup ...
- android点赞取消赞功能吗,Android 仿微博的点赞功能的实现原理(持续点赞再取消)...
搜索热词 产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解, 至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网 ...
- android 仿微博评论编辑框_Android 仿微博的点赞功能的实现原理(持续点赞再取消)...
产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解, 至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网络之后 重 ...
- 从原理到制造再到应用,这篇文章终于把MEMS技术讲透了!
写在前面 虽然大部分人对于MEMS(Microelectromechanical systems, 微机电系统/微机械/微系统)还是感到很陌生,但是其实MEMS在我们生产,甚至生活中早已无处不在了,智 ...
- 生成树协议实验报告_【网络技术联盟站】从原理到实验再到优化剖析STP生成树协议...
STP技术背景 STP基本概念 1. 简单地说STP采用四个步骤来解决二层环路问题: 2. 关键字段及比较原则 STP操作 1. 在交换网络中选举一个根桥 2. 在每个非根桥上选举一个根端口 3. 为 ...
- 【网络技术联盟站】从原理到实验再到优化剖析STP生成树协议
STP技术背景 STP基本概念 1. 简单地说STP采用四个步骤来解决二层环路问题: 2. 关键字段及比较原则 STP操作 1. 在交换网络中选举一个根桥 2. 在每个非根桥上选举一个根端口 3. 为 ...
- 骨架屏原理——面试别再被挨打了
目录 前言 骨架屏是什么 骨架屏原理 用途: (一)简单实现 (二) vue项目中的构建 (三)自动化方案 前言 同样是之前练手项目中的,emmm,知道干嘛用的,没了解过具体原理,面试时加上紧张
- app保活面试题,Android动态换肤实现原理解析,再不刷题就晚了!
前言 近期被两则消息刷屏,[字节跳动持续大规模招聘,全年校招超过1万人][腾讯有史以来最大规模的校招启动]当然Android岗位也包含在内,因此Android还是有很多机会的.结合往期面试的同学(主要 ...
- 小汤学编程之JavaEE学习day03——JSP组成结构、JSP原理、JSP生命周期、JSP九大内置对象、四大作用域、JSP的MVC模式
一.JSP组成结构 二.JSP的原理 1.JSP的运行原理 2.分析JSP所生成的Servlet代码 3.JSP的执行过程 三.JSP生命周期 四.JSP九大内置对象 五.JSP四大作 ...
最新文章
- 如何设计一个本地缓存
- lisp 计算三点的夹角_已知三点坐标求夹角 - 程序语言 - 小木虫 - 学术 科研 互动社区...
- 构建论文框架的八条原则
- CG CTF WEB 综合题
- 百度之下,你绝对猜不到的国内第二大搜索引擎
- sql可视化工具_数据分析该用什么工具?
- eclipse中经常用到的快捷键
- 现在完成时与过去完成时的区别
- linux系统优化 io,Linux硬件IO的优化简介
- C Tricks(十五)—— 算符优先级的表示
- 原型模式 java 深浅_java学习笔记之原型模式及深浅拷贝
- WES 软件安装 及Bundel数据的下载
- 如何制作一个优秀的个人网站?
- android版本连击,死神vs火影无限能量连招版本-死神vs火影无限连招版v3.2 安卓版-腾牛安卓网...
- android 集成腾讯定位,Android集成腾讯云通信IM
- MODBUS通讯协议学习总结
- 高端加密IC开发常见问题
- 阿里架构专家教你打通Git任督二脉,20分钟搞定Git工作原理
- 个人电脑详细的安全设置方法
- 堆排序算法(java实现)