java 自定义标签 传值

<?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用来添加对taglib(标签库)的描述 -->

<description>孤傲苍狼开发的自定义标签库</description>

<!--taglib(标签库)的版本号 -->

<tlib-version>1.0</tlib-version>

<short-name>GaclTagLibrary</short-name>

<!--

为自定义标签库设置一个uri,uri以/开头,/后面的内容随便写,如这里的/gacl ,

在Jsp页面中引用标签库时,需要通过uri找到标签库

在Jsp页面中就要这样引入标签库:<%@taglib uri="/gacl" prefix="gacl"%>

-->

<uri>/gacl</uri>

<!--一个taglib(标签库)中包含多个自定义标签,每一个自定义标签使用一个tag标记来描述  -->

<!-- 一个tag标记对应一个自定义标签 -->

<tag>

<description>这个标签的作用是用来输出客户端的IP地址</description>

<!--

为标签处理器类配一个标签名,在Jsp页面中使用标签时是通过标签名来找到要调用的标签处理器类的

通过viewIP就能找到对应的me.gacl.web.tag.ViewIPTag类

-->

<name>viewIP</name>

<!-- 标签对应的处理器类-->

<tag-class>cn.springmvc.controller.ViewIPTag</tag-class>

<body-content>jsp</body-content><!-- empty 或者 -->

<attribute>

<name>userName</name>

<required>true</required>

<rtexprvalue>true</rtexprvalue>

</attribute>

</tag>

</taglib>

<xdp:viewIP userName="John1231" >添加</xdp:viewIP>

package cn.springmvc.controller;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.JspWriter;

import javax.servlet.jsp.PageContext;

import javax.servlet.jsp.tagext.Tag;

public class ViewIPTag implements Tag  {

//接收传递进来的PageContext对象

private PageContext pageContext;

private String userName;

@Override

public int doEndTag() throws JspException {

System.out.println("调用doEndTag()方法");

return 0;

}

@Override

public int doStartTag() throws JspException {

System.out.println("调用doStartTag()方法");

System.out.println(userName);

HttpServletRequest request =(HttpServletRequest) pageContext.getRequest();

JspWriter out = pageContext.getOut();

String ip = request.getRemoteAddr();

try {

//这里输出的时候会抛出IOException异常

out.write(ip);

out.write("<h1>呵呵</h1>");

} catch (IOException e) {

//捕获IOException异常后继续抛出

throw new RuntimeException(e);

}

return 0 ; //继续执行的意思

}

@Override

public Tag getParent() {

return null;

}

@Override

public void release() {

System.out.println("调用release()方法");

}

@Override

public void setPageContext(PageContext pageContext) {

System.out.println("setPageContext(PageContext pageContext)");

this.pageContext = pageContext;

}

@Override

public void setParent(Tag arg0) {

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

}

时间: 2024-11-06 07:11:44

java 自定义标签 传值的相关文章

[转][Java]自定义标签简介

作用:自定义标签主要用于移除 jsp 页面中的 java 代码. 实现:需要完成以下两个步骤: 编写一个实现 Tag 接口的 Java 类,把页面 java 代码移到这个 java 类中.(标签处理类) 编写标签库描述符 (tld)文件,在 tld 文件中把标签处理器类描述成一个标签. 代码:新建一个  day11 项目,在 src 目录下新建 cn.itcast.web.tag 包,ViewIPTag Java文件 package cn.itcast.web.tag; import java.

java自定义标签 权限

<?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://

JSP2 自定义标签

实现步骤 实现自定义标签的处理类继承javax.servlet.jsp.tagext.SimpleTagSupport,并重写doTag方法 建立标签库配置文件 在jsp中使用自定义标签 一个简单的标签 文件目录结构 src/main/java |---- cn.ljl.javaweb.demo.jsp2taglib.servlet |---- HelloWorldServlet.java |---- cn.ljl.javaweb.demo.jsp2taglib |---- HelloWordT

同一Page范围内多个相同自定义标签类实例化个数相关问题阐述

问题描述:(jsp自定义标签代码片段中出现出来多个相同类型的标签<JB:ToobarCellComponent.那么jsp引擎是否实例化多个标签对象呢)那么大家可能就奇怪了,研究这个问题到底对我们项目研发有何好处呢?其实这个问题可以延伸出很多关于java自定义标签的一些高级应用以及自定义标签的解析原理,比如自定义标签按钮级别的权限控制[页面控件权值记录,初始化等]等.研究这些设计框架大有所益处,以下内容但愿对你有所帮助.也欢迎大家进入群[376447127]与我交流RAD快速开发平台相关技术.

java jsp自定义标签

自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫标签处理器类 package gz.itcast; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; public class iftag extends SimpleTagSupport { private boolean

Java Web总结十六之一自定义标签

一.自定义标签简介 1.为什么要使用自定义标签? 自定义标签主要用于移除Jsp页面中的<%java%>代码. 2.开发自定义标签的步骤: 1)开发自定义标签处理类,该类需要实现SimpleTag接口/SimpleTagSupport类,重写doTag()方法. 2)编写标签库描述符(tld)文件,在tld文件中对自定义标签进行描述,并放置在WEB-INF/目录下. 3)完成以上操作,即可在JSP页面中导入和使用自定义标签. 二.自定义标签描述 1.实现SimpleTag接口的标签通常称为简单标

java中结合struts2自定义标签的使用

java中结合struts2自定义标签的使用 一.建立一个继承于SimpleTagSupport类实现它的doTag方法 1 package com.xiangshang.tag; 2 3 import java.io.IOException; 4 import java.util.List; 5 6 import javax.servlet.jsp.JspException; 7 import javax.servlet.jsp.PageContext; 8 import javax.serv

Java jsp 自定义标签

1 自定义标签 1.1 引入 需求: 向浏览器输出当前客户的IP地址 (只能使用jsp标签) 1.2 第一个自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫标签处理器类 /** * 标签处理器类 * @author APPle * 1)继承SimpleTagSupport * */ public class ShowIpTag extends SimpleTagSupport{ private JspContext context; /** * 传入p

12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例

EL应用 自定义一个标签,实现两个字符串的相加 1回顾 1.1servlet生命周期 init(ServletConfig) service(ServletRequest,ServletResponse) destory() 1.2回话技术 cookie:浏览器端 (服务器需要浏览器保存少量的数据) 服务器创建对象:new Cookie(name,value) cookie.setMaxage(秒);  有效时间 cookie.setMaxage(0)  删除cookie cookie.setP