Struts框架提供的自定义标记库包括Html、Bean、Logic和Nested。这些标记库本身就具有很高的重用性,视图中有意义的扩展也就在于对这些自定义标记库的扩展。标记符处理器都是常规的Java类,因此可以通过创建子类实现特定的功能。在Struts的标记库中对视图影响最大的是HTML标记库,HTML标记库也是最有可能被扩展的地方。当扩展了标记后,必须定义存放这些标记的标记库。尽管可以包自定义的标记加入到标准的Struts标记库中,但是这样会使应用程序升级到新的Struts版本变得非常麻烦。因此应该定义单独的标记库,来存放和具体应用相关的自定义标记。
一旦创建了一个用于扩展的.tld文件并用Web应用程序部署描述符(web.xml)进行注册,用户就可以在JSP页面中方便地使用这些标记。
另一种对视图层扩展的方式是引入JSP标准标记库JSTL。JSTL是JSP 1.2定制标记库集,它们为典型的表示层任务(例如数据格式化、迭代或条件内容显示)提供标准实现。表达式语言(EL)是JSTL定制标记支持另一种用于指定动态属性值的机制。EL提供了一些标识符、存取器和运算符,用来检索和操作驻留在JSP容器中的数据。
Struts框架已经考虑到与JSTL的整合问题,struts-el标记库便是Struts标记库的JSTL实现版本。struts-el标记库中的所有标记均扩展自Struts标准标记库,不同的是,struts-el采用了JSTL中的“表达式运算引擎”,而不是“运行时表达式(rtexprvalues)”。举例来说,使用bean:write标记输出一段消息文本时可能会采用如下的形式:
<bean:message key="<%= stringvar %>"/>
其中stringvar为JSP页面中的一个变量。如果采用strut-el标记库,将是下面的形式:
<bean-el:message key="${stringvar}"/>
struts-el标记库实现了绝大部分Struts标准标记库的标记,但是也有一些标记例外。其中Html标记全部实现,Bean标记和Logic标记未实现的部分及其应该对应JSTL标记见表12-1和表12-2。
表12-1 Bean标记库中未在struts-el中实现的标记
Struts标记
JSTL 标记
cookie
c:set, EL
define
c:set, EL
header
c:set, EL
include
c:import
parameter
c:set, EL
write
c:out
表12-2 Logic标记库中未在struts-el中实现的标记
Struts标记
JSTL 标记
empty
c:when, EL
equal
c:when, EL
greaterEqual
c:if, c:when, EL
greaterThan
c:if, c:when, EL
lessEqual
c:if, c:when, EL
lessThan
c:if, c:when, EL
notEmpty
c:if, c:when, EL
notEqual
c:if, c:when, EL
注意:使用struts-el标记的Web容器必须支持Servlet 2.3和JSP 1.2以上,并将jstl.jar置于应用程序的WEB-INF\lib目录下。另外,struts-el.jar包存在于Struts下载包中的contrib\lib目录中。

转载于:https://www.cnblogs.com/fayf/archive/2008/08/22/1274249.html

Struts标记库与JSTL标记库相关推荐

  1. java核心标签库,16.JSTL标签库(我的JavaEE笔记)

    主要内容:(工程el_example中6.jsp) 标签 标签 标签 标签 标签 标签 标签 标签 标签 JSTL标签库中包含核心标签库.国际化标签库.数据库标签.XML标签和JSTL函数(EL函数) ...

  2. 自定义标签JSTL标签库详解

     自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简 ...

  3. javaweb(09) EL表达式JSTL标签库(jsp相关,了解)

    javaweb(09) EL表达式&JSTL标签库(jsp相关,了解) EL表达式 简介和基本使用 EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的 ...

  4. jsp导入jstl标签库_EE JSP:使用JSTL标记库生成动态内容

    jsp导入jstl标签库 除了在JSP中编写自己的定制标记之外,您还将发现Java EE实际上提供了一组Java标准标记库(JSTL)供您使用. 这些内置标签包括重复(for-loop)标签,条件标签 ...

  5. EE JSP:使用JSTL标记库生成动态内容

    除了在JSP中编写自己的定制标记之外,您还将发现Java EE实际上提供了一组Java标准标记库(JSTL)供您使用. 这些内置标签包括重复(for-loop)标签,条件标签,变量声明和输出标签等.库 ...

  6. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    来自:http://blog.csdn.net/love_you_99/article/details/8184797 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极 ...

  7. 下列常用的html标记有,html的题库(含答案)

    该题库仅供巩固自身html知识 tip:<为< 单选题 1.下面标记中,用来显示段落的标记是(  d  ). a.<h1> b.<br /> c.<img / ...

  8. JSP标准标签库(JSTL)--简介

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  9. 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

    学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签.  jsp标签的分 ...

  10. JAVA Web基础6-EL表达式与JSTL标签库

    一.EL表达式语言 1.EL表达式全称expression language,用于在JSP页面获取其内置对象的内容 语法:${...} 在jsp中page指令有一个属性是isELIgnored, 用来 ...

最新文章

  1. NeurIPS 2020论文评审结果出炉,提前拒稿、作者审稿惹争议,网友:改投别家吧...
  2. FireDac 的数据库批量语句提交(高效)
  3. BZOJ1196: [HNOI2006]公路修建问题
  4. 【必看】Linux 下的 TCP参数优化
  5. mysql分组取出每组地一条数据_MySQL 分组后取每组前N条数据
  6. B3log 分布式社区的 Java 博客端节点系统
  7. 半径为r的均匀带电球体_一半径为R的均匀带电球体,其电荷的体密度为ρ.求(1)球外任一点的电势;(2)球表面上的电势;(3...
  8. java程序崩溃查询,java – 有程序识别它上次崩溃了吗?
  9. SQL Server 2016 SP1 标准版等同企业版?!
  10. ScrollView中Spinner问题
  11. 高效的敏捷测试第七课 自动化部署和BVT
  12. 树莓派Python教程:树莓派能做什么
  13. PHP 面试知识点整理归纳
  14. win10网络适配器出现黄色感叹号!!WiFi路由器正常却无法显示可用网络!
  15. ps怎么把黑白照片变成彩色?ps把儿童黑白照变彩色教程
  16. UDP传输rtp数据包丢帧
  17. Elasticsearch:Ingest Pipeline 实践
  18. 面向对象课程设计日志(八)
  19. Android Notification消息提示
  20. 『2021语言与智能技术竞赛』-多技能对话任务基线系统 Fork 325 喜欢 7

热门文章

  1. picker从后台取数据
  2. 软件工程第一次作业(第一次思考这些问题)
  3. BZOJ2768: [JLOI2010]冠军调查
  4. 制作chrome插件
  5. java生成json字符串的方法
  6. Atitit.检测文本文件的编码 自动获取文件的中文编码
  7. 最值得一看的几条简单的谷歌 Google 搜索技巧,瞬间提升你的网络搜索能力
  8. IntelliJ IDEA使用技巧(二)——添加jar包
  9. 最基础eacharts图带数字,百分比,tab切换
  10. AGC016E Poor Turkeys