引入struts html标签,Struts标签库中的HTML标签_weixin_28723171的博客-程序员宅基地

技术标签: 引入struts html标签  

一. Struts标签库中的HTML标签

HTML标签库主要用来显示HTML元素,如果不用这种方法,你就必须用HTML标签来指定它们。从表面上看,这个标签库很简单。但是通过深入研究,我们就会发现它很强大。例如,它可以为我们在HTML表单的

一个特定输入元素中放置重点内容生成JavaScript,或为客户端输入验证生成脚本。而且,你可以用它通过一行代码来处理错误。然而,在将这个标签库用于你的Struts应用程序前,你需要做些简单的准备工作。

配置应用程序来运用标签库

在运用Struts HTML标签库前,你需要通过三个步骤来配置一个Struts应用程序。

1. 在部署描述符(web.xml文件)中注册标签库,告诉servlet容器有关Struts HTML标签库的情况,以及在哪里可以找到标签库的TLD文件,代码如下:

/WEB-INF/struts-html.tld

< /TAGLIB-URI>/WEB-INF/struts-html.tld

< /TAGLIB-LOCATION>2. 要确定将struts-html.tld文件复制到WEB-INF目录中。你不用担心标签库类文件,因为它们已经包含在struts.jar文件中了。

3. 在运用标签库的每个JSP页面中,插入下面的指示符:

HTML标签库包含几个很容易使用的独立的标签:

< html:html>标签

< html:html>标签是HTML标签库中最容易的标签。它有两个属性:locale和xhtml,两者都不是必需的。

e.g. HelloWorld-html:

建立一个JSP页面welcome.jsp,输入如下内容:

< %@ taglib uri="/WEB-INF/struts- html.tld" prefix="html" %>

< ?xml:namespace prefix = html />< html:html locale="true">

Hello World!

中的locale属性在生成的HTML页面中被转换成了。生

成的结果取决于Struts应用程序所位于的服务器的locale。如果你将应用程序部署到一个不同locale的服务器,你不需要改变代码。Locale会自动调整。

< html:base>标签

< html:base>标签显示一个HTML元素,用一个href属性表示所包含的JSP页面的绝对位置。只有当这个

标签是内嵌在一个head标签部分时,它才有效。e.g. HelloWorld-base:

< %@ taglib uri="/WEB-INF/struts- html.tld" prefix="html" %>

< html:base>< /html:base>

Hello World!

< /html:html>

< html:base>标签会转换成:

< BASE href="

< html:link>标签

< html:link>标签会生成一个超链接。

e.g. < html:link page="/index.jsp">Index< /html:link>

会转换成:Index

< html:errors>标签

< html:errors>标签的易于使用性通常会掩盖其真正的强大功能。通过一个简单的< html:errors>< /html:errors>标签,你就可以在一个JSP页面上显示完全自定义的错误信息。这个标签检查Request对象的属性集合来查找一个reserved key。如果它找到一个reserved key,它就假设这个key是一个 String、或是一个String数组(它包含在模块的MessageResources中查找的message keys)、或是类型为org.apache.struts.action.ActionErrors的一个对象。

如果在应用程序资源中存在相应的信息,那么就可以用下面这些可选的message keys:

errors.header:相应的信息在错误信息的单独列表前显示。

errors.footer:相应的信息在错误信息的单独列表后显示。

errors.prefix:相应的信息在错误信息的单独列表前显示。

errors.suffix:相应的信息在错误信息的单独列表后显示。

二. logic 标签

1、定义标签文件(web.xml)

/tags/struts-logic

/WEB-INF/struts-logic.tld

2、引用标签文件(jsp文件)

3、标签文件说明(struts-logic.tld)

(1)empty标签

类名:org.apache.struts.taglib.logic.EmptyTag

标签体:bodycontent=JSP

引用logic:empty

属性 attribute:name,property,scope

功能:判断对象的值是否为空

(2)equal

类名:org.apache.struts.taglib.logic.EqualTag

标签体:bodycontent=JSP

引用logic:equal

属性 attribute:cookie,header,name,parameter,property,scope,value

功能:等于比较符

(3) forward

org.apache.struts.taglib.logic.ForwardTag

标签体:bodycontent=empty

引用logic:forward

属性 attribute:name

功能:页面导向,查找配置文件的全局forward

(4) greaterEqual

类名:org.apache.struts.taglib.logic.GreaterEqualTag

标签体:bodycontent=JSP

引用logic:greaterEqual

属性 attribute:cookie,header,name,parameter,property,scope,value

功能:大于等于比较符

(5)greaterThan

类名:org.apache.struts.taglib.logic.GreaterThanTag

标签体:bodycontent=JSP

引用logic:greaterThan

属性 attribute:cookie,header,name,parameter,property,scope,value

功能:大于比较符

(6) iterator

类名:org.apache.struts.taglib.logic.IterateTag

标签体:bodycontent=JSP

引用logic:iterator

属性 attribute:collection,id,indexId,length,name,offset,property,scope,type

功能:显示列表为collection的值(List ,ArrayList,HashMap等)

(7)lessEqual

类名org.apache.struts.taglib.logic.LessEqualTag

标签体:bodycontent=JSP

logic:lessEqual

属性 attribute:cookie,header,name,parameter,property,scope,value

功能:小于等于比较符

(8)lessThan

类名:org.apache.struts.taglib.logic.LessThanTag

标签体:bodycontent=JSP

logic:lessThan

属性 attribute:cookie,header,name,parameter,property,scope,value

功能:小于比较符

(9)match

类名:org.apache.struts.taglib.logic.MatchTag

标签体:bodycontent=JSP

引用logic:match

属性 attribute:cookie,header,location,name,parameter,property,scope,value

功能:比较对象

(10)messagesNotPresent

类名:org.apache.struts.taglib.logic.MessagesNotPresentTag

标签:bodycontent=JSP

引用logic:messagesNotPresent

属性 attribute:name,property,message

功能:ActionMessages/ActionErrors对象是否不存在

(11)messagePresent

类名:org.apache.struts.taglib.logic.MessagesPresentTag

标签:bodycontent=JSP

引用logic:messagePresent

属性 attribute:name,property,message

功能:ActionMessages/ActionErrors对象是否不存在

(12)notEmpty

类名:org.apache.struts.taglib.logic.NotEmptyTag

标签:bodycontent=JSP

引用logic:notEmpty

属性 attribute:name,property,scope

功能:比较对象是否不为空

(13)notEqual

类名:org.apache.struts.taglib.logic.NotEqualTag

标签:bodycontent=JSP

引用logic:notEqual

属性 attribute:cookie,header,name,parameter,property,scope,value

(14)notMatch

类名:org.apache.struts.taglib.logic.NotMatchTag

标签:bodycontent=JSP

引用logic:notMatch

属性 attribute:cookie,header,location,name,parameter,property,scope,value

功能:比较对象是否不相等

(15)notPresent

类名:org.apache.struts.taglib.logic.NotPresentTag

标签:bodycontent=JSP

引用logic:notPresent

属性 attribute:cookie,header,name,parameter,property,role,scope,user

功能:request对象传递参数是否不存在

(16)present

类名:org.apache.struts.taglib.logic.PresentTag

标签:bodycontent=JSP

引用logic:present

属性 attribute:cookie,header,name,parameter,property,role,scope,user

功能:request对象传递参数是否存在

(17)redirect

类名:org.apache.struts.taglib.logic.RedirectTag

标签:bodycontent=JSP

引用logic:redirect

属性

attribute:anchor,forward,href,name,page,paramId,paramName,paramProperty,paramScope,property,

scope,transaction

功能;页面转向,可传递参数

【编辑推荐】

【责任编辑:亚林 TEL:(010)68476606】

点赞 0

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_28723171/article/details/117896757

智能推荐

suse 查看java版本_SLES 11 中JDK的安装和配置_weixin_39614109的博客-程序员宅基地

1. 下载合适的JDK版本本人是在虚拟机中创建的SLES 11 SP1 X86_64的OS,所以下载的是对应的Linux x86_64版本,下载文件名为:jdk-7-linux-x64.rpm。Oracle提供了tar.gz和rpm两种下载格式,建议下载rpm格式,方便安装。下载路径为:http://download.oracle.com/otn-pub/Java/jdk/7/jdk-7-linu...

监听事件_雪夜如画的博客-程序员宅基地

开发工具与关键技术: VS, 监听作者:卢惠圳撰写时间:2019年6月16日有时会要在一个页面上显示2个表但是又不是同时显示,而是一个表先显示另一个表则是通过点击第一个表的某条数据在去显示而且点击不同数据出来的第二张表的数据也不一样,这样就需要用到监听事件,当然首先先将2个表的样式写好方便存放数据,代码如下图:然后就可以开始写监听事件了,当点击表格中的其中一行数据时就为当前点击的tr添加...

一篇讲透Java重构之道_大盛玩java的博客-程序员宅基地

前言“重构” 这个词对于大部分工程师来说都不陌生。实际上大部分人都只是 “听得多做得少”,真正进行过代码重构的人不多,而把持续重构作为开发的一部分的人,就更是少之又少了。一方面,重构代码对一个工程师能力的要求,要比单纯写代码高得多。重构需要你能洞察出代码存在的坏味道或者设计上的不足,并且能合理、熟练地利用设计思想、原则、模式、编程规范等理论知识解决这些问题。另一方面,很多工程师对为什么要重构、到底重构什么、什么时候重构、又该如何重构等相关问题理解不深,对重构没有系统性、全局性的认识,面对一堆烂代码,没

php declaration of,PHP5.3的类继承错误:Strict Standards: Declaration of should be compatible with..._罐装核子可乐的博客-程序员宅基地

发布时间:2013-05-12 19:55:162011-07-21 15:10 should be compatible with that ofStrict Standards: Declaration of Zend_Db_Adapter_Php_Dbphp::insert() should be compatible with that of Zend_Db_Adapter_Abstrac...

linux 浏览器崩溃,Firefox DoS漏洞导致浏览器崩溃 影响到Windows操作系统_Lluvio Liu的博客-程序员宅基地

一位安全研究人员在Mac,Linux和Windows上发现了一个影响Firefox的错误,该错误可能会导致浏览器崩溃,在某些情况下会导致底层操作系统崩溃。该专家在网站上发布了PoC代码,以便在Mac和Linux系统上崩溃Firefox,导致浏览器显示Crash Reporter消息。该问题可能会对Windows产生更严重的影响,因为在某些情况下它会导致操作系统冻结。ZDNet的研究人员进行了一些测...

php连接access数据库哪种方式好,三种php连接access数据库方法小结_weixin_29475449的博客-程序员宅基地

三种php连接access数据库方法小结发布于 2014-11-18 06:37:27 | 127 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名...

随便推点

用conda下载scrapy报错_code_双儿的博客-程序员宅基地

Error: Cannot link a source that does not exist.上网寻找解决方案,看了很多个博客,瞎捯饬一通,最后终于解决了。使用conda安装scrapy步骤:先下载Anaconda,配置好环境变量。在cmd中使用conda --version命令测试是否安装成功。ps:使用管理员身份。打开Anaconda Prompt 使用pip install scrapy安装scrapy。安装成功后,使用命令scrapy查看scrapy版本信息。我的解决方式:

php fpm maxchildren,【整理】php-fpm.conf中的pm.max_children到底应该设置为多少_任我心意的博客-程序员宅基地

折腾:期间,想要搞清楚:php-fpm.conf中的pm.max_children到底应该设置为多少因为:“错误三:资源耗尽LNMP 架构处理 php 时,是 nginx 直接调取后端的 php-fpm 服务,如果 nginx 的请求量偏高,而我们又没有给 php-fpm 配置足够的子进程,那么总有 php-fpm 资源耗尽的时候,一旦耗尽 nginx 则找不到 php-fpm,此时就会导致 50...

gitlab增加日志_lyuharvey的博客-程序员宅基地

2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...

mysql备份时候事务日志_SQLSERVER 事务日志备份与恢复_weixin_39943370的博客-程序员宅基地

事务日志备份保留上次事务日志备份后发生的所有事务的痕迹;它还允许你把数据库恢复到数据库发生错误之前的一个时间点。事务日志备份按顺序发生,从而建立一个备份链。在把一连串事务日志备份恢复到一个时间点时,事务日志文件也必须按顺序恢复。当你使用一个数据库维护计划来建立事务日志备份时,事务日志文件名中往往包含一个时间指示器。下面的脚本使用NORECOVERY选项应用三个事务日志备份,最后一个语句把数据库恢复...

pm2的的常用命令及用法_地铁程序员的博客-程序员宅基地

  使用pm2启动静态文件服务器的方法如下:pm2 serve path portpm2 serve . 9001这样就可以把当前文件夹下的静态文件跑起来了,而且端口号是9001,同样也支持进阶的使用,如下pm2 serve . 9001 --name test --watch  这样就启动了一个名字为test,端口号为9001,且监听文件变化的静态文件服务器$ np...

mysql 1833_错误代码1833 Cannot change column used in a foreign_发际线退我不退的博客-程序员宅基地

server_list MODIFY COLUMN server_lip CHAR(25);报错信息:1 queries executed, 0 success, 1 errors, 0 warnings查询:alter table server_list modify column server_lip char(25)错误代码: 1833Cannot change column ‘server...

推荐文章

热门文章

相关标签