jsp程序设计-Tag文件与Tag标记用法详解
2015-12-16 21:36
661 查看
新建tag文件
注:tag文件一般被放至/WEB-INF/tags目录下
Jsp页面中引用tag文件(声明标记库)
jsp页面头部:
jsp页面中使用tag标签(jsp页面像tag文件中传值):
编写tag文件
Tag文件接收jsp页面传值:
将tag文件中对象返回给调用该tag文件的jsp页面(使用variable指令) Tag文件中
a.声明variable指令
scope取值(指明jsp页面使用variable指令中给出的对象的有效范围):
AT_BEGIN:jsp页面一旦开始使用tag标记,就可以使用
NESTED:jsp页面只可以在tag标记的标记体使用。
AT_END:jsp页面只可以在tag标记结束后使用
b. 将对象返回给调用该tag文件的jsp页面
附代码(四则运算):
InputNumber.jsp
Computer.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); } %>
相关文章推荐
- JSP/PHP基于Ajax的分页功能实现
- 开发阶段Jetty运行Jsp报错且响应空白
- 表格标签table深入了解
- WEB标准网页布局中尽量不要使用的HTML标签
- 如何使用jquery easyui创建标签组件
- jsp简单实现页面之间共享信息的方法
- Apache Web让JSP“动”起来
- web标准知识――用途相似的标签
- h1标签的使用技巧
- HTML代码中标签的全部属性 中文注释说明
- Bootstrap每天必学之标签与徽章
- jQuery EasyUI 布局之动态添加tabs标签页
- jquery 实现两Select 标签项互调示例代码
- JSP学习经验小结分享
- JSP 多条SQL语句同时执行的方法
- jQuery获取标签文本内容和html内容的方法
- 在jsp页面中响应速度提高的7种方法分享
- JavaScript获取并更改input标签name属性的方法