Java Web自定义标签tld文件的使用
不管怎么说看这样的技术性东西要有耐心,如果想真正掌握最好是自己动动手。废话不多少,看操作!
第一步:新建一个web项目,例如名为:webexample,建好后出现如下图包结构模式
第二步:在"com.util.common"包中新建一个java类,类名称为“ComangerDict.java”并写如图中的两个方法
第三步:打开web.xml文件,写上如图的代码
第四步:按第三步中的<taglib-location>/page/common/myfn.tld</taglib-location>的本地路径新建myfn.tld文件(这里的路径就是:"/page/common/myfn.tld")在MyEclipse或者 Eclipse中实质就是新建一个普通的文本文件,只不过在命名时将文件后缀命名为XXX.tld,我这里命名为"myfn.tld"。
新建好以后打开这个tld文件并写如下配置:
01 | <?xml version="1.0" encoding="UTF-8"?> | |
02 | <taglib xmlns="http://java.sun.com/xml/ns/j2ee" |
03 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
04 | xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" |
05 | version="3.0" | |
06 | > |
07 | <tlib-version>1.0</tlib-version> | |
08 | <short-name>myfn</short-name> |
09 | <uri>http://www.tldExample.cn/test/functions</uri> | |
10 | <function> |
11 | <name> | |
12 | getName |
13 | </name> | |
14 | <function-class>com.util.common.ComangerDict</function-class> |
15 | <function-signature>java.lang.String getName(java.lang.String,java.lang.String)</function-signature> | |
16 | </function> |
17 | <function> | |
18 | <name> |
19 | getHelloWorld | |
20 | </name> |
21 | <function-class>com.util.common.ComangerDict</function-class> | ||
22 | <function-signature>java.lang.String getHelloWorld(java.lang.String,java.lang.String)</function-signature> |
23 | </function> | |
24 | </taglib> |
最后如图所示:
第五步:也是最后一步了,就是在jsp页面调用了。
打开index.jsp写如下代码:
01 | <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> |
02 | <%@ taglib uri="http://www.tldExample.cn/test/functions" prefix="myfn" %> |
03 | <!DOCTYPE> | |
04 | <html> |
05 | <head> | |
06 | </head> |
07 | <body> | |
08 | <h3> |
09 | getName方法的调用: ${myfn:getName('中国','开源中国')} <br/><br/> | |
10 |
|
11 | getHelloWorld方法的调用: ${myfn:getHelloWorld('开源中国','北极心博客')} | |
12 | </h3> |
13 | </body> | |
14 | </html> |
写好后如图所示:
第六步:也就是最最后一步,那就是测试了,放到Tomcat里并启动。打开浏览器,看到如图所示就算成功:
好了这就是自定义标签tld的一个简单的应用,其实并不难,其实我这用的还是比较古老的做法,是可以不用在web.xml配置的,留给有兴趣朋友自己研究!
对了,后台输出的图还是要贴出来的