网站建设与管理t7372,网站建设工具哪家好,桂平网站建设,aso应用商店优化原因目录
一.什么是标签
二.JSP自定义标签库
2.1 JSP标签库是什么
2.2 处理流程
2.3 如何自定义标签
2.4 标签类型
三.开发示例
3.1 out标签
1.创建助手类
2.编写tld#xff08;标签库的描述#xff09;文件#xff0c;#xff08;必须放在WEB-INF目录或其目录下标签库的描述文件必须放在WEB-INF目录或其目录下
3.在页面使用
4.将项目部署运行即可可到效果
3.2 if标签
1.创建助手类
2.编写tld标签库的描述文件必须放在WEB-INF目录或其目录下
3.在页面使用 一.什么是标签
标记语言是一种注释文本的语言以便于计算机可以操作。很多与“ML”结尾的语言都是标记语言比如HTMLXMLXHTMLVML等等。 标记语言与其他语言一样也需要运行它们的环境比如HTML的运行环境时浏览器XML也要自己的解析和运行的环境。
基本结构 开始标签标签体/结束标签
空标签 开始标签 属性名属性值//结束标签 br/br/ 开始标签 属性名属性值/
二.JSP自定义标签库
2.1 JSP标签库是什么
是一个JSP标签集合它封装了JSP应用的通用核心功能 基于JSP标签我们可以理解为是JSP应该通用功能的一种封装方式
2.2 处理流程 2.3 如何自定义标签
常见自定义标签主要步骤
编写助手类编写标签库描述文件tld在页面上引入标签使用
2.4 标签类型
UI标签 输出页面元素控制标签 如if标签foreach标签等数据标签用于向页面输入数据
三.开发示例
3.1 out标签
1.创建助手类
public class OutTag extends BodyTagSupport {private String val;public String getVal() {return val;}public void setVal(String val) {this.val val;}// 默认值private String defaultVal;public String getDefaultVal() {return defaultVal;}public void setDefaultVal(String defaultVal) {this.defaultVal defaultVal;}Overridepublic int doStartTag() {//pageContext为页面上下文对象用于和jsp共享数据JspWriter out this.pageContext.getOut();try {if (this.val null || .equals(this.getVal())) {//利用JspWrite对象将val输出到页面out.print(this.getDefaultVal());}else {//利用JspWrite对象将val输出到页面out.print(this.val);}} catch (IOException e) {e.printStackTrace();}return SKIP_BODY;}}2.编写tld标签库的描述文件必须放在WEB-INF目录或其目录下
!DOCTYPE taglibPUBLIC -//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//ENhttp://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd
!-- 标签库描述符 --
taglib xmlnshttp://java.sun.com/JSP/TagLibraryDescriptortlib-version1.0/tlib-versionjsp-version1.2/jsp-versionshort-nameSimple Tags/short-nameuri/zking/uritag!-- 标签名 --nameout/name!-- 标签助手类 --tag-classcom.zking.tagdemo.tag/tag-class!-- 标签的内容类型empty表示空标签jsp表示可以为任何合法的JSP元素 --body-contentempty/body-contentattribute!-- 属性名 OutTag类中的val属性相匹配 --nameval/name!-- 表示该属性为必要的属性 --requiredtrue/required!-- 该属性可以接受EL表示式的值 --rtexprvaluetrue/rtexprvalue!-- 标签描述用于说明标签的作用 --descriptionout标签val属性用于输出val的值/description/attributeattribute!-- 属性名 OutTag类中的val属性相匹配 --namedefaultVal/name!-- 表示该属性为必要的属性 --requiredfalse/required!-- 该属性可以接受EL表示式的值 --rtexprvaluefalse/rtexprvalue!-- 标签描述用于说明标签的作用 --descriptionout标签defaultVal属性用于输出defaultVal的值/description/attribute/tag/taglib
3.在页面使用
% page languagejava contentTypetext/html; charsetUTF-8pageEncodingUTF-8%
%taglib prefixz uri/zking %
!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd
html
head
meta http-equivContent-Type contenttext/html; charsetUTF-8
titleInsert title here/title
/head
bodyz:out valabc/
/body
/html
4.将项目部署运行即可可到效果
3.2 if标签
1.创建助手类
public class IfTag extends BodyTagSupport{private boolean test false;public boolean isTest() {return test;}public void setTest(boolean test) {this.test test;}Overridepublic int doStartTag() {if(this.test) {return EVAL_BODY_INCLUDE;}return SKIP_BODY;}
}2.编写tld标签库的描述文件必须放在WEB-INF目录或其目录下
!DOCTYPE taglibPUBLIC -//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//ENhttp://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd
!-- 标签库描述符 --
taglib xmlnshttp://java.sun.com/JSP/TagLibraryDescriptortlib-version1.0/tlib-versionjsp-version1.2/jsp-versionshort-nameSimple Tags/short-nameuri/zking/uritag!-- 标签名 --nameif/name!-- 标签助手类 --tag-classcom.zking.tagdemo.tag.IfTag/tag-class!-- 标签的内容类型empty表示空标签jsp表示可以为任何合法的JSP元素 --body-contentjsp/body-contentattribute!-- 属性名 OutTag类中的val属性相匹配 --nametest/name!-- 表示该属性为必要的属性 --requiredtrue/required!-- 该属性可以接受EL表示式的值 --rtexprvaluetrue/rtexprvalue!-- 标签描述用于说明标签的作用 --descriptionout标签test属性用于输出test的值/description/attribute/tag/taglib
3.在页面使用
% page languagejava contentTypetext/html; charsetUTF-8pageEncodingUTF-8%
%taglib prefixz uri/zking %
!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd
html
head
meta http-equivContent-Type contenttext/html; charsetUTF-8
titleInsert title here/title
/head
bodyz:if test${100100 }测试if(100 100)/z:if/body
/html