J2EE 自定义标签

J2EE 自定义标签的步骤:

1. 对于一个空体标签需要继承javax.servlet.jsp.tagext.TagSupport;
a.重写doStartTag()和doEndTag()方法;

2.在tld文件中注册标签和映射标签对应的方法;

a.将tld注册文件放到WEB-INF目录下,系统自动识别。

b.将tld注册文件放到任意路径,然后在web.xml文件中注册


say.tld 注册文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<!-- 标签定义文件根节点: taglib-->
<taglib>
<!-- 标签库版本 -->
<tlibversion>1.0</tlibversion>
<!-- JSP版本 -->
<jspversion>1.1</jspversion>
<!-- 标签库名称 -->
<shortname>say</shortname>
<!-- 外界导入标签库的url -->
<uri>http://xzl_awin/tags-say</uri>
<tag>
<!-- 标签的名称 -->
<name>helloWorld</name>
<!-- 对应的类 -->
<tagclass>tags.say.HelloWorldTag</tagclass>
</tag>
<tag>
<name>write</name>
<tagclass>tags.say.WriteTag</tagclass>
<attribute>
<!-- 属性 的名称-->
<name>value</name>
<!-- 是否必须指定值 -->
<required>true</required>
<!-- 是否支持表达式 -->
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>


3.在JSP页面中使用:

<%@ page language="java" pageEncoding="GB2312"%>

<!-- uri注册的url prefix自定义标签的前缀 -->
<%@ taglib uri="http://xzl_awin/tags" prefix="say" %>

<html>

<body>

say:helloWorld标签的值:<br>
<say:helloWorld/><br>
say:write value:需要输出的字符串<br>
<say:write value="自定义输出"></say:write>

</body>

</html>


标签返回值:

一般,无体标签 doStartTag() 返回 SKIP_BODY,让标签不要对体求值, 

doEndTag() 返回EVAL_PAGE,让标签后面的JSP继续执行;

有体标签  doStartTag() 返回EVAL_BODY_TAG,让标签对体求值,

doEndTag() 返回EVAL_PAGE,让标签后面的JSP继续执行;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值