jsp 自定义标签的编写
来源:互联网 发布:淘宝号安全风险查询 编辑:程序博客网 时间:2024/05/22 15:22
一简单的自定义标签实现
1 新建一个标签处理类 TestTag ,继承 TagSupport 实现其中的方法(主要是doStartTag() 和doEndTag() 这两个方法)
package com.cn.hnust.unit;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.jsp.JspException;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.tagext.TagSupport;/** * 自定义标签 */public class TestTag extends TagSupport{/** * 用户姓名 */private String userName;/** * 用户性别 */private String sex;/** * 用户Id */private String id;private static final long serialVersionUID = -5137834063357478496L;@Overridepublic int doStartTag() throws JspException {try {/** * do something 例如 分页,权限控制 */if(userName.equalsIgnoreCase("abc")){// pageContext 传递进来的对象 pageContext.getOut().print("用户名为adc");}else{HttpServletRequest request=(HttpServletRequest) pageContext.getRequest();int ip=request.getRemotePort(); // 端口/** * 通过localhost访问的 所以返回的是 0:0:0:0:0:0:0:1 */String ss =request.getRemoteAddr(); pageContext.getOut().print(ip+" "+ss);}} catch (IOException e) {e.printStackTrace();}return super.SKIP_BODY; // 返回0}@Overridepublic int doEndTag() throws JspException {return super.doEndTag();}@Overridepublic void release() {super.release();}@Overridepublic void setPageContext(PageContext pageContext) {super.setPageContext(pageContext);}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getId() {return id;}public void setId(String id) {this.id = id;}}
2 新建 tld文件
tld 文件的代码为
<?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 web-jsptaglibrary_2_0.xsd"version="2.0"><tlibversion>1.2</tlibversion><jspversion>1.2</jspversion><shortname>fi</shortname><uri>/WEB-INF/tlds/test.tld</uri><tag><!-- 自定义标签的名字 --><name>test</name><tagclass>com.cn.hnust.unit.TestTag</tagclass><bodycontent>JSP</bodycontent><attribute><name>userName</name><!-- true 必须填写 false 非 --><required>true</required><!-- 在使用标签时能不能使用表达式来动态指定数据 --><rtexprvalue>true</rtexprvalue></attribute><attribute><name>id</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute><attribute><name>sex</name><required>false</required><rtexprvalue>false</rtexprvalue></attribute></tag></taglib>
<bodycontent>JSP</bodycontent> <bodycontent><a target=_blank href="http://blog.csdn.net/aaa1117a8w5s6d/article/details/8157212" target="_blank">标签参数</a> 详解</bodycontent>
<bodycontent></bodycontent>
JSP页面的引用
<pre name="code" class="html"><%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <span style="color:#ff0000;"> <%@ taglib uri="/WEB-INF/tlds/test.tld" prefix="cd" %></span><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
标签的使用
</table> <span style="color:#ff0000;"> <cd:test userName="abc"></cd:test><br/> <cd:test userName="123"></cd:test></span></form><script type="text/javascript"> function submit(){ $('#ff').submit(); }
运行结果
0 0
- jsp 自定义标签的编写
- jsp自定义标签的编写
- JSP自定义标签编写
- JSP自定义标签编写
- 编写JSP自定义标签
- jsp自定义标签(taglib)编写的原理和实现
- jsp自定义标签(taglib)编写的原理和实现【转载】
- jsp自定义标签(taglib)编写的原理和实现
- jsp自定义标签(taglib)编写的原理和实现
- JSP的自定义标签
- JSP的自定义标签
- jsp的自定义标签
- jsp的自定义标签
- jsp的自定义标签
- 为JSP编写自定义标签(1)
- 为JSP编写自定义标签(2)
- 自定义Tag标签的编写
- 使用自定义的jsp标签
- K阶斐波那契数列
- VS2015集成QT5.6.0
- 友善之臂开发板启动脚本配置以及fa-network-service后台服务对网络的配置
- Python利用pdb单步调试
- Hibernate与各种数据库连接的配置
- jsp 自定义标签的编写
- WebCollector爬取百度搜索引擎
- 栈区,堆区,全局区,文字常量去,程序代码区
- Prestashop使用心得
- Windows 8 IIS配置PHP运行环境
- Android中自定义View的MeasureSpec使用
- 数组的独一
- 【jforum二次开发】(1)
- 使用QT和cmake编译和调试最简单的程序