jsp程序设计-Tag文件与Tag标记用法详解
来源:互联网 发布:管理顾客的软件 编辑:程序博客网 时间:2024/04/28 18:05
新建tag文件
注:tag文件一般被放至/WEB-INF/tags目录下
Jsp页面中引用tag文件(声明标记库)
jsp页面头部:
<%@ taglib prefix="前缀" tagdir="自定义标记库的位置(一般为/WEB-INF/tags)"%>
//prefix属性为前缀jsp页面中使用tag标签(jsp页面像tag文件中传值):
<前缀:tag文件名 对象1名字="对象1的引用 对象2名字="对象2的引用" />
编写tag文件
Tag文件接收jsp页面传值:
<%@ attribute name="对象1名字" required="true"%>
<%@ attribute name="对象2名字" required="true"%>将tag文件中对象返回给调用该tag文件的jsp页面(使用variable指令) Tag文件中
a.声明variable指令
<%@ variable name-given ="对象名字" scope="有效范围"%> //variable指令
scope取值(指明jsp页面使用variable指令中给出的对象的有效范围):
AT_BEGIN:jsp页面一旦开始使用tag标记,就可以使用
NESTED:jsp页面只可以在tag标记的标记体使用。
AT_END:jsp页面只可以在tag标记结束后使用b. 将对象返回给调用该tag文件的jsp页面
jspContext.setAttribute("对象的名",对象的引用);//发回jsp页面
附代码(四则运算):
InputNumber.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>四则运算</title></head><body bgcolor=yellow><font size="5">输入运算数,选择运算符号:<br><form action="" method="post"><input type="text" name="no1" size=6> <select name="operator"><option value="+">+<option value="-">-<option value="*">*<option value="/">/</select> <input type="text" name="no2" size=6><input type="submit" value="提交你的答案" name="submit"></form><%String a=request.getParameter("no1"); String b=request.getParameter("no2"); String operator=request.getParameter("operator"); if(a==null||b==null){ a=""; b=""; } if(a.length()>0&&b.length()>0){ %><computer:computer numberA="<%=a%>" numberB="<%=b%>" operator="<%=operator%>"/> 计算结果:<%=a %><%=operator %><%=b %>=<%=result %> <% } %> </font></body></html>
Computer.tag
<%@ tag language="java" pageEncoding="UTF-8"%><%@ attribute name="numberA" required="true"%><%@ attribute name="numberB" required="true"%><%@ attribute name="operator" required="true"%><%@ variable name-given ="result" scope="AT_END"%><%try{ double a=Double.parseDouble(numberA); double b=Double.parseDouble(numberB); double r=0; if(operator.equals("+"))r=a+b; else if(operator.equals("-"))r=a-b; else if(operator.equals("*"))r=a*b; else if(operator.equals("/"))r=a/b; jspContext.setAttribute("result",String.valueOf(r));}catch(Exception e){ jspContext.setAttribute("result","发生异常:"+e);} %>
0 0
- jsp程序设计-Tag文件与Tag标记用法详解
- JSP中Tag文件与Tag标记
- Jsp之Tag文件和Tag标记
- jsp文件与tag文件
- jsp2.0标记文件(tag)详解
- JSP技术之三 JSP标记(tag)
- tag用法详解
- dicom文件tag详解
- 开发自制jsp标记(tag)(入门)
- BIRT JSP tag的用法
- jsp中tag文件使用
- 学习编写标记文件(tag)上
- 学习编写标记文件(tag)下
- 学习编写标记文件(tag)上
- 学习编写标记文件(tag)下
- tag文件三大指令标记
- jsp中的tag与tld
- JSP Tag
- 使用ScheduledExecutorService周期性的定时任务
- 前端开发入门:前端开发基础成长指南
- ViBE算法分析
- Java学习笔记(5):1.类和对象
- K-means算法
- jsp程序设计-Tag文件与Tag标记用法详解
- 类封装成dll
- leetcode -- Restore IP Addresses -- 重点,dfs
- VLfeat教程Quick shift
- IOS面试算法题(1)——N阶乘最后总位数的问题
- 正则表达式学习笔记一
- UIControl
- C++中extern “C”含义深层探索
- VLFeat教程SVM