JSP自定义标签实例.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JSP自定义标签实例.doc

JSP自定义标签实例 文章分类:Web前端 JSP自定义标签实例? 在JSP编程中,Struts一般用来处理form和业务逻辑,Struts中使用了很多自定义标签,如html、bean等,但很多时候我们还是需要使用 % java code % 这样的语句来操作一些输出。为了减少这种代码,可以创建自定义标签。? ???? 一个tag就是一个普通的java类,它唯一特别之处是它必须继承TagSupport或者BodyTagSupport类。这两个类提供了一些方法,负责jsp页面和你编写的类之间的交互,例如输入,输出。而这两个类是由jsp容器提供的,无须开发人员自己实现。换句话说,你只需把实现了业务逻辑的类继承TagSupport或者BodyTagSupport,再做一些特别的工作,你的类就是一个Tag。并且它自己负责和jsp页面的交互,不用你多操心。? 下面介绍如何创建一个自定义标签。? 一.编写java类继承TagSupport或TagSupport? 1) 提供属性的set方法,? 此后这个属性就可以在jsp页面设置。以jstl标签为例 <c:out value=/>,这个value就是jsp数据到tag之间的入口。所以tag里面必须有一个setValue方法,具体的属性可以不叫value。例如setValue(String data){this.data = data;}? 这个“value”的名称是在tld里定义的。取什么名字都可以,只需tag里提供相应的set方法即可。? 2)处理 doStartTag 或 doEndTag? ? 这两个方法是 TagSupport提供的。 还是以<c:out value=/>为例,当jsp解析这个标签的时候,在“<”处触发 doStartTag 事件,在“>”时触发 doEndTag 事件。通常在 doStartTag 里进行逻辑操作,在 doEndTag 里控制输出。? 下面是一个简单的例子? Java代码? package com.test.tag;??? import java.io.IOException;??? import javax.servlet.jsp.JspTagException;??? import javax.servlet.jsp.tagext.BodyContent;??? import javax.servlet.jsp.tagext.BodyTagSupport;??? /**?? * PermissionBodyTag 根据是否有权限显示body内容?? */?? public class PermissionBodyTag extends BodyTagSupport {??? ??? boolean permission;??? ??? public boolean isPermission() {??? ??????? return permission;??? ??? }??? ??? public void setPermission(boolean permission) {??? ??????? this.permission = permission;??? ??? }??? ??? public int doStartTag() throws JspTagException {??? ??????? if (permission) {??? ??????????? return EVAL_BODY_INCLUDE;??? ??????? } else {??? ??????????? return SKIP_BODY;??? ??????? }??? ??? }??? ??? public int doEndTag() throws JspTagException {??? ??????? System.out.println(doEndTag);??? ??????? try {??? ??????????? if (bodyContent != null) {??? ??????????????? bodyContent.writeOut(bodyContent.getEnclosingWriter());??? ??????????? }else{??? ??????????? }??? ??????? } catch (IOException e) {??? ??????????? throw new JspTagException(IO ERROR: + e.getMessage());??? ??????? }??? ??????? return EVAL_PAGE;??? ??? }??? ??? public v

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档