您的位置:首页 > Web前端 > JavaScript

JSP 2.x中另一种自定义标签编写方法

2017-06-11 20:32 204 查看
JSP 2.x中另一种自定义标签编写方法

支持带多个标签体的Jsp2.0标签,例如:

<mytag:test>

  <jsp:attribute name="a"><jsp:attribute name="b">

   <jsp:attribute name="a"><jsp:attribute name="b">

</mytag:test>

可以将tld和标签处理类打包生成jar包:

打包自定义标签库:

1.建立一个taglibs文件夹

2.将所有的标签处理类对应的class文件连同拷贝到1中的目录中

3.在1中的文件夹中建立一个META-TNF文件夹

4.将tld文件拷贝到META-INF目录

5.使用jar命令进行打包

将tld文件打包生成jar包,工作上一般有大神给你们做好了,我们直接用即可

,但是要知道怎么打包,小公司可能会用到这个东西.

JSP2.0中也支持另外一种更为简单的自定tag的方法,那就是直接将JSP代码保

存成*.tag或者*.tagx的标签定义文件.tag和tagx文件不仅支持经典jsp代码,

各种标签模板代码,还支持xml样式的jsp指令代码.

按照约定,tag和tagx文件需要放置在WEB-INF/tags目录下

举个例子:
这是tags文件夹下的hello.tag文件的代码:(这里面的hello就直接充当标签

体的名字了(相当于<name>hello</name>))

<%@ attribute name="num1" type="java.lang.Integer" required="true"%>

<%@ attribute name="num2" type="java.lang.Integer" required="true"%>

<%

      out.println(num1+num2);

%>

不需要在tld文件中配置

注意:要在jsp文件中致指明<%@ taglib prefix="util" tagdir="/WEB-

INF/tags"%>(prefix和tagdir里面的内容都是仅仅属于这个例子,不同的例子

内容会不同)

下面讲解一下自定义标签函数:

流程:编写一个类,在里面编写静态方法,然后在tld文件中进行配置.

也举个例子:

MyTest类中的方法:

package javastudy;

public class MyTest {

     
public static int add(int x,int y)
{
return x+y;
}

}

配置tld文件:

<function>

    <name>add</name>

    <function-class>javastudy.MyTest</function-class>

    <function-signature>int add(int,int)</function-signature>
</function>
在jsp页面上直接用EL表达式进行调用输出:
${my:add(20,10)}

即可进行两数相加!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: