tag的几点说明
来源:互联网 发布:淘宝网店模板制作教程 编辑:程序博客网 时间:2024/04/28 14:59
-----第二个简单的示例-----
标签文件名:jisuan.tag
<%@ tag body-content="scriptless" pageEncoding="gbk" %>
<%@ attribute name="num1" type="Integer"%>
<%@ attribute name="num2" type="Integer"%>
<jsp:doBody var="in" />//将标签内部之间的内容并且赋值给in
${in}
${num1+num2}
在页面使用方式:
<my:jisuan num1="100" num2="20">
这里是主体
</my:jisuan>
输出:这里是主体 120
在Tag File中可以使用<jsp:doBody>与<jsp:invoke>动作元素,前者是用来处理卷标本体文字,后者则是用来设 定标签间的Fragment,这两个动作元素搭配着attribute与variable两个指令元素来作示范会比较好说明。
首先介绍<jsp:doBody>您可以用它来决定是否显示本体文字,例如撰写如下的Tag File:
check.tag
<%@attribute name="password"%>
<% if(password.equals("1234")) { %>
<jsp:doBody/>
<% } else { %>
密码不正确
<% } %>
必须先说明的是,这边使用了Scriptlet,这并不是一个良好的示范,若能搭配JSTL或自订标签库来完成Tag File的撰写会是比较好的,这边纯綷是为了说明方便才使用了Scriptlet。
上面这个Tag File会检查传入的属性password是否符合我们设定的密码,如果符合就执行<jsp:doBody>,表示显示卷标之间的本体文字, 否则显示密码不正确的讯息,attribute指令元素可以指定自订卷标所使用的属性文字,可以使用下面的JSP网页来测试:
test.jsp <%@taglib prefix="caterpillar" tagdir="/WEB-INF/tags/" %>
<html>
<body>
<caterpillar:check password="${ param.pwd }">
您的秘密礼物在此!
</caterpillar:check>
</body>
</html>
您可以发现,Tag File即使是用来当作自订标签库的简便方式,也是十分的方便,不需要在tld档中作额外的设定,也可以得到相关的功能。
attribute除了指定属性文字之外,也可以将属性当作Fragment传入,方便在Tag File中作个别的处理,例如下面撰写一个table.tag:
table.tag <%@attribute name="frag1" fragment="true"%>
<%@attribute name="frag2" fragment="true"%>
<table border="1">
<tr>
<td><b>frag1</b></td>
<td><jsp:invoke fragment="frag1"/></td>
</tr>
<tr>
<td><b>frag2</b></td>
<td><jsp:invoke fragment="frag2"/></td>
</tr>
</table>
在这个Tag File中,将attribute的属性设定为Fragment,然后想取得指定的Fragment的话,就可以使用<jsp: invoke>动作元素,并指定Fragment的名称,使用下面这个JSP网页来测试:
test.jsp <%@taglib prefix="caterpillar" tagdir="/WEB-INF/tags/" %>
<html>
<body>
<caterpillar:table>
<jsp:attribute name="frag1">
Fragment 1 here
</jsp:attribute>
<jsp:attribute name="frag2">
Fragment 2 here
</jsp:attribute>
</caterpillar:table>
</body>
</html>
在JSP网页中,同样的是使用<jsp:attribute>来说定Fragment的文字内容,执行这个JSP网页,会传回以下的内容:
<html>
<body>
<table border="1">
<tr>
<td><b>frag1</b></td>
<td>Fragment 1 here</td>
</tr>
<tr>
<td><b>frag2</b></td>
<td>Fragment 2 here</td>
</tr>
</table>
</body>
</html>
在Tag File与JSP网页之间,可以使用variable指令元素设定Scripting Variable,以在两者之间传递变量内容,例如撰写以下的Tag File:
0 0
- tag的几点说明
- hibernate的几点说明
- Smartform的几点说明
- 类的几点说明
- NSNotification的几点说明
- NSNotification的几点说明
- bootloader的几点说明
- 提高Java性能的几点说明
- 关于const reference的几点说明
- 关于Gtalk的几点说明
- 关于String的几点说明
- 关于const的几点说明
- 关于招聘的几点说明
- tomcat 的几点配置说明
- Qt plugin系统的几点说明
- 关于String类的几点说明
- 纯虚函数的几点说明
- 位域的几点说明
- tag
- 对friend std::ostream & operator<< 的简单学习
- 数据质量管理十步流程
- Android中RadioGroup的用法
- 【LeetCode】143. Reorder List C语言
- tag的几点说明
- (转载)Android下Affinities和Task
- 正向代理和反向代理
- __attribute__((visibility("default")))
- tag的将数据用于内存中
- Activities在Android平台的完整生态系统
- 重载back按钮响应事件
- hosts文件修改
- 树形菜单tag框架 非树形的点击事件