java调用接口的方法流程 常用接口调用方式

在开发定制标记的过程中,有时需要重复处理标记体的内容。此时,您可以使用IterationTag接口,该接口继承自Tag接口,并基于Tag接口添加了一个EVAL_BODY_AGAIN常量和一个doAfterBody()方法,如下所示。1。EVAL_BODY_AGAIN常数常量EVAL_BODY_AGAIN是doafeterbody()方法的返回值...

在开发定制标记的过程中,有时需要重复处理标记体的内容。此时,您可以使用IterationTag接口,该接口继承自Tag接口,并基于Tag接口添加了一个EVAL_BODY_AGAIN常量和一个doAfterBody()方法,如下所示。

1。EVAL_BODY_AGAIN常数

常量EVAL_BODY_AGAIN是doafeterbody()方法的返回值。如果doafeterbody()方法返回这个常量,JSP容器将重复标记体的内容一次。

2。int doAfterBody()方法

JSP容器在每次标记体执行后调用doAfterBody()方法,该方法可以再次返回常量SKIP_BODY和EVAL _ BODY _ return。如果方法返回SKIP_BODY常量,JSP容器返回表示结束标记的doEndTag()方法,如果返回EVAL_BODY_AGAIN,则重复执行标记体。

为了让读者更好地学习IterationTag接口,接下来用一个案例来演示如何使用IterationTag接口实现重复标准执行的功能。具体步骤如下。

(1)编写标记处理器类。

第一章构建了一个Web项目,在这个项目下编写了标签处理器类Iterate.java。由于TagSupport类实现了IterationTag接口,为了简化编程,我们定义的Tag处理器类只需要继承TagSupport类,Iterate.java类的实现代码如下面的代码所示。

package cn.itcast.chapter01.classisctag;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.*;public class Iterate extends TagSupport { //定义变量 private int num; //提供num属性的setter方法 public void setNum(int num) { this.num = num; } //执行一次标签体 public int doStartTag() throws JspException { return Tag.EVAL_BODY_INCLUDE; } //根据属性值对标签体进行执行 public int doAfterBody() throws JspException { num--; if (num > 0) { return EVAL_BODY_AGAIN; } else { return SKIP_BODY; //跳过标签体 } }}

在上面的代码中,成员变量num用于接收标记num属性的值,该值用于确定标记体的执行次数。由于doStartTag()方法的返回值是EVAL_BODY_INCLUDE,所以在执行dofterbody()方法之前,已经执行了一次标记体,所以在dofterbody()方法中判断if条件之前,num的值会自动递减一次。

(2)注册标记处理器类。

在mytag.tld文件中添加一个Tag元素来注册标记处理器类。注册信息如下所示。

<tag> <name>iterate</name> <tag-class>cn.itcast.chante-01.c1assisctaa.Iterate</tag-class> <body-content>JSP</body-content> <attribute> <name>num</name> <required>true</required> </attribute></tag>

(3)编写JSP页面iterate.jsp。

在JSP页面中使用标记,将num属性的值设置为5,并将标记体的内容设置为“hello.itcast!”。iterate.jsp页面如上图所示。

<%@page language="java" pageEncoding="GBK"%><%@taglib uri="http://***.itcast.cn" prefix= "itcast"%><html> <head> <title>iterate Tag</title> </head> <body> <itcast:iterate num="5"> hello,itcast!<br/> </itcast:iterate> </body></html>

(4)启动Tomcat服务器,在浏览器地址栏输入“
http://localhost:8080/chapter 01/iterate . JSP”访问iterate.jsp页面。可以发现浏览器中的标签正文内容是“hello,itcast!”它被展示了五次。描述中编写的自定义标签实现了重复执行标签体的功能。

本文来自一九九几的她投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/596497.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-18
下一篇 06-18

相关推荐

  • app版本更新的具体流程 手机app升级最新版本的步骤

    众所周知,定位器是由硬件和软件组成的。随着技术的不断进步,硬件规格不断提高,软件也在进行大升级。其中系统部分最吸引大家的眼球。无论是iOS还是Android,系统都在不断“进化”,所以系统推送更新通知其实是一件再正常不过的事情。MIUI 12(来源网络)不过,定位器系统升级

    2023-07-29 07:01:01
    886 0
  • 网站建设的概念是什么,建站流程及步骤

    大家好,欢迎收看边肖的文章。您的支持是边肖最大的动力。如果你喜欢边肖的文章,请给边肖一个赞!每个企业都需要有自己的网站。很多老板觉得建一个网站很难。其实建一个网站并没有那么难。今天,我将一步步教你如何建立自己的网站。第一步:确定网站类型首先,确定网站类型。

    2023-07-29 06:58:01
    938 0
  • 如何成立一个公司,注册公司流程及费用

    一、工商注册工商登记,需要提交公司章程。原则上使用公司统一章程的模板或当地工商系统提供的模板(当地工商局另有规定的除外)。二。雕刻印章刻制:企业印章刻制一般包括:公章、法人章、财务章、**专用章;个别地区还会刻合同专用章,这不是必须的。三。开立银行账户银行账户管

    2023-07-29 03:18:01
    291 0
  • 商标网上申请流程是怎么样(网上申请商标流程图解)

    以前商标注册需要在商标局的接待大厅**,但是随着网络的发展,商标局也开通了商标的网上申请。除了在商标局官网申请,还有很多代理机构在商标局进行了备案,下面就来介绍一下全兴商标的智能申请如何操作。商标注册一般代理公司的商标申请提交材料比商标局后台直接提交的要简单

    2023-07-29 01:40:02
    441 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信