自定义tag怎么使用jstl的标签

 我来答
缘Lai如茨
2016-05-31 · TA获得超过8630个赞
知道大有可为答主
回答量:7534
采纳率:92%
帮助的人:532万
展开全部
首先我们自定义标签类:ViewIpTag

[java] view plain copy
package com.weijia.traditionaltag;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

/**
* 自定义标签,然后将这个标签映射到这个类:mytag:viewIP
* 记得将自定义的标签绑定到一个url上面,这个url一般是公司的网址
*
*/
public class ViewIpTag extends TagSupport{

private static final long serialVersionUID = 1L;

@Override
public int doStartTag() throws JspException {
//内置一个pageContext对象,我们之前说到pageContext对象,它里面是封装了9个隐式对象
HttpServletRequest request = (HttpServletRequest)this.pageContext.getRequest();
JspWriter out = this.pageContext.getOut();
String ip = request.getRemoteAddr();
try {
out.print(ip);
} catch (IOException e) {
throw new RuntimeException(e);
}
return super.doStartTag();
}

}

自定义tld文件,mytag.tld

[html] view plain copy
<?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">

<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>weijia</short-name>
<uri>http://www.weijia.cn/mytag</uri>

<!-- 显示IP地址 -->
<tag>
<description>
Catches any Throwable that occurs in its body and optionally
exposes it.
</description>
<name>viewIP</name>
<tag-class>com.weijia.traditionaltag.ViewIpTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
这里我们将就自定义的标签类就注册好了,下面解释一下这些字段的含义:

首先看一下:
<short-name>这个标签是指定我们定义标签的简称,这个作用不大
<uri>这个标签是给这个标签文件指定一个访问路径,这个路径我们在Jsp页面中引入这个标签的时候需要用到
<tag-class>这个标签就是指定我们自定义的标签类的全称
<body-content>这个标签表明自定义标签是否有标签体内容(empty:没有,JSP:有)
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式