自定义标签

import java.io.IOException;
import javax.servlet.ServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
/**
 * 
 * @author 董乐强      2017-7-22
 * 自定义标签的实现步骤
 * 1)首先编写一个类实现SimpleTag,但是SimpleTag是个接口,我们需要实现里面的方法,特别麻烦。我们可以继承SimpleTagSupport
 * 因为SimpleTagSupport实现了SimpleTag这个方法,所以自定义标签时,我们需编写一个类继承SimpleTagSupport即可
 * 
 * 2)重写doTag()方法,容器会调用这个方法,主要在这个方法里面实现我们自己标签的功能
 * 
 * 3)类定义好后,在WEB-INF目录下,建一个后缀为tld的文件,可以参考系统提供的标签tld文件的配置方法,tld文件主要是程序运行时,映射到我们
 * 定义的这个类,从而实例对象,调用我们定义类的方法
 * 
 * 4)在JSP用 @tablib uri="" perfix="" 来引入我们的标签, 然后在jsp中我们就可以调用我们的标签了
 *  如:<标签名:perfix>这样调用就ok
 * 
 * Demo:实现调用远程的Ip地址
 *
 */
public class ShowRemoteIpSimpleTag extends SimpleTagSupport {
     //容器在调用该方法之前,已经调用了setJspContext(JspContext pc) 传入当前页面的PageContext对象

    @Override
    public void doTag() throws JspException, IOException {
        // TODO Auto-generated method stub
        super.doTag();
        PageContext pc = (PageContext)getJspContext();
        ServletRequest request = pc.getRequest();
        String ip = request.getRemoteAddr();
        JspWriter out =pc.getOut();
        out.write(ip);

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值