博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
八 标签库及web.xml
阅读量:4295 次
发布时间:2019-05-27

本文共 2095 字,大约阅读时间需要 6 分钟。

JSTL 标准标签库

EL(Expression Language)表达式,格式为 ${EL表达式} ,表达式可以是一个常量、变量或者一个计算表达式,其由容器解释和执行。

使用 EL 表达式可以简化 JSP 文件的编写,如 ${pageContext.request.requestURL} 可以方便的取得请求链接。

JSTL(JSP Standard Tag Library)标签库是由 Sun 公司制定标准,他人开发的,简化 JSP 制作的标签函数库。

要使用 JSTL 标签,需要导入相应的 jar 包,同时将相应的 TLD 文件添加到工程中。并且,在使用时,需要在 JSP 页面中使用 <%@ taglib uri="" prefix="" %> 进行导入。

相关资源可以查看

如下片段,是从 fmt.tld 文件中摘取的。

Sets the request character encoding
requestEncoding
org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag
empty
Name of character encoding to be applied when decoding request parameters.
value
false
true

指明了 requestEncoding 标签的处理类为 org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag,同样的,通过 TLD 文件可以查看其他标签,以及相应的处理类。

rtexprvalue 说明该属性是否可以使用 scriptlet 表达式,默认 false 。

自定义标签库

JSP 容器在根据 JSP 页面生成 Servlet 时,会使用相应的 Java 代码取代预定义的标签。对于自定义的标签,则需要指定的标签处理类来进行处理。所以,自定义标签的关键是编写自定义处理类。

标签库的 API 定义在 javax.servlet.jsp.tagext 包中,在编写自定义标签处理类时,必需要实现其中的接口。最关键的两个方法是 doStartTag()doEndTag() 分别在开始和结束标签解析时执行。

要想使用自定义的标签,需要编写 TLD 标签描述文件,来指明所有标签及其处理类。这些处理类在一起构成了一个标签库。最后,需要在 web.xml 文件中进行配置,指明自定义标签库描述文件的位置。

uriName
/WEB-INF/mytaglib/lis.tld

在 JSP 中使用时,需要引入自定义标签库:<%@ taglib uri="uriName" prefix="lis" %>

在编写自定义标签处理类时,一般不直接实现相关接口,而是继承 TagSupportBodyTagSupportSimpleTagSupport 类。

web.xml

在一个 web 应用中,配置文件 web.xml 十分重要,对于该文件的配置可以参考如下博文:

但是 web.xml 配置文件,作为一个 XML 文件,其包含哪些标签,有有何含义呢!这就必须要了解 XML 文件的定义描述文件 DTD(Document Tag Definition)了。

在 J2EE 1.3 及其以前,是由 DTD(Document Tag Definition)定义部署描述符的,相关文档可以查看

在该资源中可以找到描述 web.xml 文档的 DTD 文件。

从 J2EE 1.4 开始,则开始使用 XSD(XML Schema Definition)文档来描述相关文档,具体可以查看如下地址


如在使用 mybatis 时,编写的 SQL 文档中都有如下语句:

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

这实际是在指明解析该 XML 文档时要使用的 DTD 文件的地址。

至于 DOCTYPE 的含义,可以查看相关标准:

在 DTD 文件中,元素和元素的属性都是分条描述的,无法自定义类型。

在更流行的 XSD 中,类型是可以单独定义的,即可以重用一个类型定义,并且,元素是可以嵌套定义的。

在往前追溯,可以了解下标准通用标准语言:。

转载地址:http://epdws.baihongyu.com/

你可能感兴趣的文章
克罗谈投资策略01_期货交易中的墨菲法则
查看>>
克罗谈投资策略02_赢家和输家
查看>>
克罗谈投资策略03_你所期望的赌博方式
查看>>
克罗谈投资策略04_感觉与现实
查看>>
通向财务自由之路01_导读
查看>>
通向财务自由之路02_成功的决定因素:你
查看>>
中低频量化交易策略研发01_引言
查看>>
中低频量化交易策略研发06_推进的择时策略
查看>>
史丹·温斯坦称傲牛熊市的秘密
查看>>
期货市场技术分析01_理论基础
查看>>
期货市场技术分析02_趋势的基本概念
查看>>
期货市场技术分析03_主要反转形态
查看>>
期货市场技术分析04_持续形态
查看>>
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析06_长期图表和商品指数
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>