java tld tag_自定义标签tag(jsp编写)和tld(java编写)的使用方法

先是tag(jsp模式编写)

在WEB-INF/tags目录下建立一个 xxx.tag

内容:

%'> 防止出现乱码,设置编码

 引入其他(jstl)标签

required="true"%'> 定义属性(有个id属性),required表示必须输入

name="disabled"%'> 定义属性(有个disable属性),

value="${id}"/'> id属性的值设为页面传来${id}的值

value="disabled"/'> disable属性的值设为disable

}'>

value="1"'>请选择1 (可以自己写c:foreach)

value="2"'>请选择2

...........

tag完成

注:(以下来自网上)

这里要注意tag文件只能放在如下位置:

1.WEB-INF/tags

2.WEB-INF/tags的子目录

3.WEB-INF/lib中jar包的META-INF/tags

4.WEB-INF/lib中jar包的META-INF/tags下的子目录

5.jar包中的tag文件需要tld

添加jstl.jar与standard.jar到WEB-INF/lib目录,还有一点就是上面标红的部分:不要使用 http://java.sun.com/jstl/core这个url,否则会报foreach中的item属性有问题 【这个好像没问题,不知道为什么这么说】

使用:

在jsp中,开头添加如下

tagdir="/WEB-INF/tags" %'>

jsp中使用方式即: (因为我的头名字为my,tag文件名为xxx,注意紫色)

-----------------------------------------------------------

再是tld(java编写方式)

编写一个实现Tag接口(现有各种tag接口可以实现或继承,这里选用一个)的Java类,并覆盖doStartTag方法,把jsp页面中的java代码写到doStartTag方法中。编写标签库描述符(tld)文件,在tld文件中对自定义标签进行描述。完成以上操作,即可在JSP页面中导入和使用自定义标签。

public

class XXXTag extends

TagSupport{

private String a=

null;

private String b=

null;

.......(设置属性,以及get、set方法)

JspWriter out =

this.pageContext.getOut();

StringBuffer sf = new

StringBuffer();

@Overridepublic int doStartTag() throws JspException

{

try {

sf.append(""); (append标签什么的就开始啦)

out.print(sf.toString()); (标签拼完后输出)}

catch (IOException e) {

e.printStackTrace();

}

return super.doEndTag();

}

}

编写tld文件,在WEB-INF目录下创建test.tld,内容如下:

Library 1.1//EN"

"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"'>

1.2

1.1

myLib

http://struts.apache.org/tags-html

xxx (标签对应的名称 )

cn.common.xxx.XXXTag

 (标签对应的类的路径 )

empty

a (

a属性 ,上面get、set的内容)

true (是否必须项 )

true

接下来就是最后一步注册到web.xml。

web.xml的表现中添加标签即可,如下:

test ( 对应的uri在jsp中声明的需要用到 )

/WEB-INF/test.tld ( 对应标签描述文件所在的位置 )

在jsp中使用,开头添加如下

prefix="my"%>

jsp中使用方式即: (因为我的头名字为my,tag文件名为xxx,注意紫色)

--------------------------------------

PS:此博大多摘自网上,先做备份,供有机会使用。含自己一点总结。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值