Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1081|回复: 0

java 自定义标签开发! 主要解决 jSP 嵌入java代码问题

[复制链接]

该用户从未签到

发表于 2011-10-9 17:14:53 | 显示全部楼层 |阅读模式
1.编写一个实现tag 接口java类(标签处理器类)
2.编写标签库描述符 (tld) 文件,在tld 文件中对标签处理器类进行描述。


为了 移除java 代码
在web层 建立一个 com.renxing.web.tag 的包  这个包存在了所有关于项目的 自定义标签
建立一个类 ViewIP   集成  extends  TagSupport (是JSP   Tag 的孙子  子类子类的)
然后覆盖想覆盖的方法!
隐含的一点是:  也是值得注意的在.jsp 代码执行者个标签的时候自动会把 pageContext 给这个标签
也就是蕴含了 8大隐含对象!
public class ViewIP extends TagSupport
{

    @Override
    public int doStartTag() throws JspException {
        HttpServletRequest request=(HttpServletRequest) this.pageContext.getRequest();
        JspWriter out=(JspWriter)this.pageContext.getOut();
        String ip=request.getRemoteAddr();
        try {
            out.write(ip);
        } catch (IOException e) {
            throw new RuntimeException("error");
        }
        return super.doStartTag();
    }
}
这还没有完!
还需要一个 tld 的文件 进行支持!
在项目的web-inf的文件夹  建立一个 tag.tld的文件
怎么写呢?  抄:
打开tomcat   在apache-tomcat-6.0.32\webapps\examples\WEB-INF\jsp2
这个文件夹里的 抄

<?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>A tag library exercising SimpleTag handlers.</description>
    <tlib-version>1.0</tlib-version>
    <short-name>SimpleTagLibrary</short-name>
    <uri>/tag</uri>
   
    <tag>
    <description>显示IP</description>
        <name>viewip</name>
    <tag-class>com.renxing.web.tag.ViewIP</tag-class>
    <body-content>empty</body-content>
    </tag>
</taglib>
保存
在 index.jsp 页面将以前 利用<% request.getRemoteAddr();...等等去掉%>
------------
导入自定义标签库
<%@taglib uri="/tag" prefix="rx"%>

在jsp 页面上写上
您的ip地址是<rx:viewip/>

然后在访问 8080   如果运行不出来  就是你笨!~~
回复

使用道具 举报

该用户从未签到

发表于 2011-10-10 16:44:51 | 显示全部楼层
楼主辛苦了啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 19:00 , Processed in 0.436209 second(s), 39 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表