1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java tld tag_自定义标签tag(jsp编写)和tld(java编写)的使用方法

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

时间:2022-03-10 01:20:30

相关推荐

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目录,还有一点就是上面标红的部分:不要使用 /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"

"/j2ee/dtds/web-jsptaglibrary_1_1.dtd"'>

1.2

1.1

myLib

/tags-html

xxx(标签对应的名称)

mon.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:此博大多摘自网上,先做备份,供有机会使用。含自己一点总结。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。