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)}
即可进行两数相加!
支持带多个标签体的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)}
即可进行两数相加!