猿教程 Logo

JSP自定义标签

自定义标记是用户定义的标记。 它们消除了scriptlet标记的可能性,并将业务逻辑与JSP页面分离。

相同的业务逻辑可以通过使用自定义标签多次使用。


自定义标签的优点

自定义标签的主要优点如下:

  1. 消除了对scriptlet标记的需要:自定义标记消除了在JSP中被认为是错误编程方法的scriptlet标记的需要。

  2. 将业务逻辑与JSP分离:自定义标记将业务逻辑与JSP页面分隔开,以便易于维护。

  3. 可重用性:自定义标签使得可以重复使用相同的业务逻辑。


使用自定义标记的语法

有两种方法可以使用自定义标记。 它们如下:

<prefix:tagname attr1=value1....attrn=valuen />

 

<prefix:tagname attr1=value1....attrn=valuen >  
body code  
</prefix:tagname>



JSP自定义代码API

javax.servlet.jsp.tagext包包含JSP自定义标记API的类和接口。 JspTag是自定义标记层次结构中的根接口。



JspTag接口

JspTag是用于自定义标记中的所有接口和类的根接口。 它是一个标记界面。


Tag接口

Tag接口是JspTag接口的子接口。 它提供了在标记的开始和结束处执行操作的方法。


Tag接口的字段

在Tag接口中定义了四个字段。 他们是:

字段名称描述
public static int EVAL_BODY_INCLUDE它评估主体内容。
public static int EVAL_PAGE它会评估自定义标记之后的JSP页面内容。
public static int SKIP_BODY它跳过标签的正文内容。
public static int SKIP_PAGE它会跳过自定义标记之后的JSP页面内容。

Tag接口的方法

Tag接口的方法如下:

方法名称描述
public void setPageContext(PageContext pc)它设置给定的PageContext对象。
public void setParent(Tag t)它设置标记处理程序的父级。
public Tag getParent()它返回父标签处理程序对象。
public int doStartTag()throws JspException它由JSP页面实现对象调用。 JSP程序员应该重写这个方法,并定义要在标签开始处执行的业务逻辑。
public int doEndTag()throws JspException它由JSP页面实现对象调用。 JSP程序员应该重写这个方法,并定义要在标签结束时执行的业务逻辑。
public void release()它被JSP页面实现对象调用来释放状态。

IterationTag接口

IterationTag接口是Tag接口的子接口。 它提供了一种额外的方法来重新评估主体内容。


IterationTag接口的字段

IterationTag接口中只定义了一个字段。

  • public static int EVAL_BODY_AGAIN它重新评估正文内容。


IterationTag接口的方法

在IterationTag接口中只定义了一种方法。

  • public int doAfterBody()throws JspException它是由JSP页面实现对象在对body进行评估之后调用的。 如果此方法返回EVAL_BODY_INCLUDE,将重新评估主体内容,如果它返回SKIP_BODY,则不会再评估更多的body。


TagSupport类

TagSupport类实现IterationTag接口。 它作为新的标记处理程序的基类。 它还提供了一些附加的方法。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Jsp/jsp-custom-tags.html