tagsupportJSP自定义标签请教?

tagsupport  时间:2021-06-03  阅读:()

自定义标签怎么写的啊?

(1)编写JSP,在JSP中使用自定义标签。

(2)在web.xml中指定JSP中使用的标签的.tld(标签库描述文件)文件的位置。

(3).tld文件中指定标签使用的类。

3. 自定义标签的分类: (1)简单标签:如< mytag:helloworld/> (2)带属性标签:如<imytag:checkinput dbname = “<myBean.getDBName()>”/> (3)带标签体的标签: 在自定义标签的起始和结束标签之间的部分为标签体(Body)。

Body的内容可以是JSP中的标准标签,也可以是HTML、脚本语言或其他的自定义标签。

<mytag:checkinput dbname = “<myBean.getDBName()>”> <mytag:log message=”Table Name”> <mytag:checkinput /> (4)可以被Script使用的标签: 定义了id和type属性的标签可以被标签后面的Scriptlet使用。

</P< p> <mytag:connection id = “oraDB” type = “DataSource” name = “Oracle”> <%oraDB.getConnection(); %> 4.接口及其他 实际上,自定义标签的处理类实现了Tag Handler对象。

JSP技术在javax.servlet.jsp.tagext中提供了多个Tag Handler接口,JSP1.2中定义了Tag、BodyTag、IterationTag接口,在JSP2.0中新增了SimpleTag接口。

JSP还提供了上述接口的实现类TagSupport、BodyTagSupport和SimpleTagSupport(SimpleTagSupport只在JSP2.0中才有)。

BodyTagSupport实现了BodyTag、Tag和IterationTag接口。

接口及其方法 Tag接口 方法 SimpleTag dotage Tag doStartTag,doEndTag,release IterationTag doStartTag,doAfterTag,release BodyTag doStartTag,doEndTag,release,doInitBody,doAfterBody

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

首先我们自定义标签类:ViewIpTag [java] view plain copy .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 JSTL 1.1 core library JSTL core 1.1 weijia /mytag Catches any Throwable that urs in its body and optionally exposes it. viewIP <.weijia.traditionaltag.ViewIpTag empty 这里我们将就自定义的标签类就注册好了,下面解释一下这些字段的含义: 首先看一下: 这个标签是指定我们定义标签的简称,这个作用不大 这个标签是给这个标签文件指定一个访问路径,这个路径我们在Jsp页面中引入这个标签的时候需要用到 这个标签就是指定我们自定义的标签类的全称 这个标签表明自定义标签是否有标签体内容(empty:没有,JSP:有)

.tld是什么文件

public class testTag extends TagSupport{ //your code}之后你在tld文件里配置一下<tag<nametestTag </name <tag-classtestTag</tag-class <descriptiontest</description <attribute <nameforward</name

如何创建使用jsp自定义标签

1 jsp自定义标签需要引入两个jar 分别是 javax.servlet.jsp.jarjavax.servlet.jar 2 建立tld文件,建议目录为WEB-INF下,tld文件结构为下图,uri为整个标签库的名称,可以理解为java类,每一个tag分支,可以理解为java类中的每一个方法,我们在调用jsp自定义标签的时候就和调用java类一样,通过类找方法。

tag分支重点要讲tag-class,该属性为该标签方法所指向的java类。

attribute为参数,相信属性看步骤三附图。

3 关于tld文件属性的说明,可以参考下图 4 将tld文件引入web.xml中,建议名称与tld文件标签库名称一致 5 编写jsp自定义标签类,该类继承TagSupport类,我们需要做的就是重写doStartTag,我们可以通过JspWriter将后台处理的东西直接输出到jsp页面。

当然了,输出的内容在实际操作中肯定经过了非常复杂的逻辑。

6 页面调用,首先需要引入标签,<%@ taglib uri="option" prefix="option"%> option为标签名 定义在tld文件中,引用之后就可以在页面调用自定义标签了,简单的一行代码。

即可实现一个grid的输出,且可以重复利用。

jsp自定义标签

我觉得上楼回答的不完全对,自定义标签,不一定就是tomcat给封装好了的,自己也可以实现接口,编写*.tld(标签库描述文件),然后标签创建成功,便可引入页面使用了。

下面截一段API与大家讨论: javax.servlet.jsp.tagext Interface JspTag All Known Subinterfaces: BodyTag, IterationTag, LoopTag, SimpleTag, Tag 从上一段API内容中可以看出JspTag接口下又有BodyTag, IterationTag, LoopTag, SimpleTag, Tag几个子接口。

然后以SimpleTag接口为例,分享set_等方法之用意: Method Summary(方法概要) void doTag() Called by the container to invoke this tag. 当容器调用该方法时,唤醒该标签 JspTag getParent() Returns the parent of this tag, for collaboration purposes. 返回该标签的父标签 void setJspBody(JspFragment jspBody) Provides the body of this tag as a JspFragment object, able to be invoked zero or more times by the tag handler. 把JspFragment对象作为body提供给这个标签,能够被tag管理器调用0或多次。

void setJspContext(JspContext pc) Called by the container to provide this tag handler with the JspContext for this invocation. 设置上下文 void setParent(JspTag parent) Sets the parent of this tag, for collaboration purposes. 设置该标签的父标签 最后,一系列set方法,我觉得可以说成是对标签属性的设置

JSP自定义标签请教?

自定义JSP标签需要继承TagSupport类,然后在里面重写doEndTag()方法,框架大概如下: import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; public class Test extends TagSupport { public int doEndTag() throws JspException { try { pageContext.getOut().print("Test"); } catch(Exception e) { e.printStackTrace(); } return SKIP_BODY; } public void release() { super.release(); } } 然后创建Tag Library的描述文件xx.tld,在tld文件里定义标签,接着在web.xml文件里面加入<taglib>元素,最后在jsp里面引用就可以了

提速啦(69元起)香港大带宽CN2+BGP独享云服务器

香港大带宽服务器香港大带宽云服务器目前市场上可以选择的商家十分少,这次给大家推荐的是我们的老便宜提速啦的香港大带宽云服务器,默认通用BGP线路(即CN2+BGP)是由三网直连线路 中国电信骨干网以及HGC、NTT、PCCW等国际线路混合而成的高品质带宽(精品带宽)线路,可有效覆盖全球200多个国家和地区。(适用于绝大部分应用场景,适合国内外访客访问,域名无需备案)提速啦官网链接:点击进入香港Cer...

DiyVM:50元/月起-双核,2G内存,50G硬盘,香港/日本/洛杉矶机房

DiyVM是一家比较低调的国人主机商,成立于2009年,提供VPS主机和独立服务器租用等产品,其中VPS基于XEN(HVM)架构,数据中心包括香港沙田、美国洛杉矶和日本大阪等,CN2或者直连线路,支持异地备份与自定义镜像,可提供内网IP。本月商家最高提供5折优惠码,优惠后香港沙田CN2线路VPS最低2GB内存套餐每月仅50元起。香港(CN2)VPSCPU:2cores内存:2GB硬盘:50GB/R...

美国VPS 美国高防VPS 香港VPS 日本VPS 首月9元 百纵科技

百纵科技湖南百纵科技有限公司是一家具有ISP ICP 电信增值许可证的正规公司,多年不断转型探索现已颇具规模,公司成立于2009年 通过多年经营积累目前已独具一格,公司主要经营香港服务器,香港站群服务器,美国高防服务器,美国站群服务器,云服务器,母机租用托管!美国CN2云服务器,美国VPS,美国高防云主机,美国独立服务器,美国站群服务器,美国母机。美国原生IP支持大批量订货 合作 适用电商 亚马逊...

tagsupport为你推荐
短信接口不用其他公司的短信接口,自己可以写短信接口吗。病历单病例单都有哪些内容?网络审计什么叫网络会计师事务所qq网络硬盘我QQ的网络硬盘怎么啦?asp大马一句话木马中的大马和小马的作用各是什么?红牛下架红牛 为什么全国下架鸿道集团王老吉、鸿道集团、加多宝集团、广药公司是怎么回事?中国黑客网介绍几个黑客网。明星个人网站明星的网站地址是多少?x77永久论坛hdmv论坛(www.hdmv.cc)怎么打不开了呀?请教高手
winscp zpanel cpanel主机 java主机 mediafire下载工具 表单样式 香港新世界电讯 绍兴高防 本网站在美国维护 有益网络 泉州电信 共享主机 息壤代理 100mbps 卡巴斯基是免费的吗 超级服务器 国外视频网站有哪些 免费外链相册 华为云建站 申请免费空间 更多