自定义 JSTL标签库

<%@ attribute name="propertyname" required="true"%>
<%@ attribute name="selecttype" required="true"%>
这个是定义了自定义标签的两个属性
我前些天刚好简单整理了这方面的知识,跟你共享一下吧。至于你这个“.tld文件”我还不会噢。

iyiman 16:10 2010-4-8
关于自定义标签

创建标签步骤:
1、在WebRoot\WEB-INF\下建一个tags文件夹
2、下面可以再建文件夹来存放自定义分类的自定义标签
3、标签名为*.tag
如:WebRoot\WEB-INF\logic\page.tag

使用标签步骤:
1、添加指令:
<%@ taglib tagdir="/WEB-INF/tags/common" prefix="my" %>
tagdir:指定的路径下的所有标签导入,这样标签才可以使用。
prefix:自定义标签头部名
2、开始使用导入的标签
根据下面的示例使用标签,有没带属性的标签,有带属性的标签等

编写标签步骤:
1、指令:<%@ tag body-content="empty" pageEncoding="GBK" %>
body-content有3个属性值
empty:标签内没属性的话应该是选这个值。
scriptless:标签内有属性的话应该是选这个值
tagdependent:这个不知道干什么用的。
2、需要属性的话在指令下再添加一条属性指令
<%@ attribute name="num1" type="Integer" required="true" %>
required:该属性指定该标签的这个属性使用的时候需不需要赋值,true为一定要,默认false,可以不用赋值。
description:该属性的简介,在使用标签这个属性的时候该简介就显示出来。
3、需要获得标签主体内容的话,如:<a>很好</a>,加如下代码:
<jsp:doBody var="in" />
通过 ${in} 可以获得“很好”
4、前面3步走完后就写真正的业务逻辑代码,写在<%%>小脚本也可以,直接写也可以,用在该标签中使用JSTL标准标签也可以。
备注:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 可以这样引入jstl标准标签。


标签名(就是文件名):print.tag
-----第一个简单的示例-----
<%@ tag body-content="empty" pageEncoding="gbk"%>
很好
<% //这里还可以写小脚本什么 %>
在页面使用方式:
<my:print />
效果:
将在页面标签处输出“很好”这个字符串。
好处:
当很多个页面里很多个地方需要输出同一字符串的话,就可以使用这种方式。不过一般标签好像用来做逻辑处理。


-----第二个简单的示例-----
标签文件名:jisuan.tag
<%@ tag body-content="scriptless" pageEncoding="gbk" %>
<%@ attribute name="num1" type="Integer"%>
<%@ attribute name="num2" type="Integer"%>
<jsp:doBody var="in" />
${in} 
${num1+num2}
在页面使用方式:
<my:jisuan num1="100" num2="20">
   这里是主体
</my:jisuan>
输出:这里是主体 120

猜你喜欢

转载自blog.csdn.net/u012833739/article/details/54315524
今日推荐