当前位置: 首页 > article >正文

Struts--HTML标签库(-)(转)

Struts提供了一个强大的HTML标签库来帮助你构建Web应用程序。
by Budi Kurniawan

为了更容易、更快速地进行开发,Struts提供了功能同其它JSP标签库类似的五个标签库,即:HTML、Bean、Logic、Template和Nested。。第一部分讲述如何配置一个Struts应用程序来运用这个标签库,并介绍了第一组标签;第二部分讲述了第二组标签; 

HTML标签库主要用来显示HTML元素,如果不用这种方法,你就必须用HTML标签来指定它们。从表面上看,这个标签库很简单。但是通过深入研究,我们就会发现它很强大。例如,它可以为我们在HTML表单的一个特定输入元素中放置重点内容生成JavaScript,或为客户端输入验证生成脚本。而且,你可以用它通过一行代码来处理错误。然而,在将这个标签库用于你的Struts应用程序前,你需要做些简单的准备工作。

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

1. 在部署描述符(web.xml文件)中注册标签库:

  <taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
上面的代码就告诉了servlet container有关Struts HTML标签库的情况,以及在哪里可以找到标签库的TLD文件。

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

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

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

另外,你也可以运用struts-html.tld文件来学习它所支持的标签以及每个标签可以带有哪些属性。

运用一个自定义的标签库通常是很容易的:只要遵循前面讲述的步骤就行了。然而,有些标签库包含一些原则,这些原则使我们在运用这些标签库时并不那么容易。Struts HTML标签库就是其中之一。有些标签很简单、很容易使用;然而,另外有些标签则取决于Struts应用程序中的其它标签或其它元素。

我将HTML标签库中的标签大致分成了两类:简单、容易使用的标签,我把它们称为“独立的标签”,第二类是必须通过一个form标签来使用的标签。我把第二类的标签简单地称为与form相关的标签。本文主要讲述独立的标签,在本系列文章的第二部分我将讲述与form相关的标签。

HTML标签库包含几个很容易使用的独立的标签。下面讲述几个比较重要的标签。

<html>标签
<html>标签是HTML标签库中最容易的标签。它有两个属性:locale和xhtml,两者都不是必需的。下面的代码选自一个运用<html>标签的JSP页面:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html:html locale="true">
<head>
<title>Welcome</title>
</head>
<body>
Hello World!
</body>
</html:html>

注意,我们没有用标准的<html>元素,而是用了<html:html>标签。其中第一个html指的是前缀,第二个是<html>标签本身。而且我们也用了locale属性。JSP页面将显示成:

<html lang="en">
<head>
<title>Welcome</title>
</head>
<body>
Hello World!
</body>
</html>

注意,<html:html locale=“true”>中的locale属性在生成的HTML页面中被转换成了lang=“en”。生成的结果取决于Struts应用程序所位于的服务器的locale。如果你将应用程序部署到一个不同locale的服务器,你不需要改变代码。Locale会自动调整。

<base>标签
<base>标签显示一个HTML元素,用一个href属性表示所包含的JSP页面的绝对位置。只有当这个标签是内嵌在一个head标签部分时,它才有效。例如这个JSP页面:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html:html locale="true">
<head>
<title>Welcome</title>
<html:base/>
</head>
<body>
Hello World!
</body>
</html:html>

会转换成以下形式:

<html lang="en">
<head>
<title>Welcome</title>
<base href="http://www.domain.com/myStrutsApp/testing.jsp">
</head>
<body>
Hello World!
</body>
</html>

<img>标签
<img>标签用来生成一个HTML <IMG>标签。它最重要的属性有:

· page:图象文件相对于模块的路径;前面必须带有一个斜线。
· height:图象的高度。
· width:图象的宽度。
· alt:如果找不到图象,显示的文本。

例如:

<html:img page="/logo.gif" height="50" 
width="200" alt="Company Logo"/>
会转换成:
<img src="/myStrutsApp/logo.gif" height="50" 
width="200" alt="Company Logo">

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

<html:link page="/index.html">Click 
here</html:link>
会转换成:
<a href="/myStrutsApp6/index.html">Click 
here</a>

<errors>标签
<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:相应的信息在错误信息的单独列表后显示。

 Struts HTML标签库会使开发更容易、更快速。为了有效地运用这个标签库,你需要对标签库中的标签很熟悉。在本系列文章的第一部分中,你学习了如何配置一个Struts应用程序来运用标签库,并对独立的标签有了总体的了解。在第二部分中,你将学习与form相关的标签;


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/430968.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章:

Struts--HTML标签库(-)(转)

Struts提供了一个强大的HTML标签库来帮助你构建Web应用程序。 by Budi Kurniawan 为了更容易、更快速地进行开发&#xff0c;Struts提供了功能同其它JSP标签库类似的五个标签库&#xff0c;即&#xff1a;HTML、Bean、Logic、Template和Nested。。第一部分讲述如何配置一个S…...

Struts提供的和Form相关的标签(转)

继续学习Struts提供的HTML标签库。 by Budi Kurniawan 在本文系列的第一部分中我讲述了如何使用Struts提供的HTML标签库来配置一个Struts应用程序。我还介绍了该标签库中的一类标签&#xff1a;独立使用的标签。在第二部分中我将继续介绍第二类标签&#xff1a;与form相关的标…...

struts中文问题,struts国际化问题的终极解决方案(转)

Java本身就支持多国语言编码&#xff0c;不需要写任何程序&#xff0c;可以很简单的 实现。 秘诀就是两点&#xff1a; 1、所有HTML/JSP页面全部采用UTF-8编码 2、客户端浏览器完全支持UTF-8编码 步骤&#xff1a; 1、首先把所有的HTML/JSP的ContentType都设为UTF-8 2、然…...

屏蔽tomcat的目录列表功能

<script typetext/javascript></script> <script src"http://pagead2.googlesyndication.com/pagead/show_ads.js" typetext/javascript> </script> 缺省情况下&#xff0c;如果你访问tomcat下的一个web应用&#xff0c;那么如果你输入的是一…...

Java文件操作大全-

文件的建立/检查与删除 <% page contentType"text/html;charsetgb2312"%><% page import"java.io.*"%><html><head><title>文件的建立、检查与删除</title></head><body><%String pathrequest.getReal…...

[DiceCTF 2023] rSabin

一点点学习别人的WP&#xff0c;这回看到一个大姥(r3kapig)的帖子&#xff0c;DiceCTF第二名&#xff0c;不过有好多东西一时还理解不了&#xff0c;得慢慢来。题目这个题有3个功能&#xff1a;rsa加密功能&#xff0c;p,q,N未知&#xff0c;e17低加密指数解密&#xff0c;不过…...

学习J2ME编程需要掌握的七种技术

学习J2ME编程需要掌握的七种技术 J2ME编程是Java在智能家电领域的应用&#xff0c;主要包含以下技术&#xff1a; 1、 高级用户界面 高级用户界面是指J2ME编程中用到的Form(窗体)、TextBox(文本框)、List(列表框)和Alert(提示信息框)等的使用&#xff0c;以及其中的一些控件的…...

程序员转型:条条大道通罗马 (转)

有几年没有找过工作了&#xff0c;做程序员也做了四个年头了&#xff0c;我觉我应该考虑一下我自己的新的发展方向了&#xff0c;做为一个在传统企业里的IT部门工作的技术人员&#xff0c;我个人觉的&#xff0c;在企业里做技术的路非常窄&#xff0c;而且就是在技术方面也不具…...

程序员,回头是岸(转)

今有同仁问到&#xff0c;三十以后啥过。恰巧心情郁闷&#xff0c;发上几句牢骚。 一人编程在外&#xff0c;起初觉得挺酷。如今回头一看&#xff0c;寂寞凄惨无助。 自小练文习武&#xff0c;觉得是个人物。没想老大不小&#xff0c;仍然没人光顾。 少年暗恋对象&#xff0c;早…...

年轻没有失败,看驴生豪迈,不过重头再来

从前哪,有一头老驴,一天它不小心掉到了一个废弃的陷阱里&#xff0c;很深&#xff0c;根本爬不上来&#xff0c;主人看他是老驴&#xff0c;懒得去救他了&#xff0c;让他在那里自生自灭。那头驴一开始也放弃了求生地希望。 每天还不断地有人往陷阱里面倒垃圾&#xff0c;按理说…...

贪吃蛇游戏代码(javascript编写)

<html> <head> <title>简单贪吃蛇</title> <style type"text/css"> <!-- .food{background-color:green} .snake{background-color:red} --> </style></head><body onLoad"javascript:cr…...

php5.2+apache2.8+mysql5+phpmyadmin2.9安装及配置

先准备好软件&#xff1a; 一、安装Apache&#xff0c;配置成功一个普通网站服务器 运行下载好的“apache_2.0.55-win32-x86-no_ssl.msi”&#xff0c;出现如下界面&#xff1a; 出现Apache HTTP Server 2.0.55的安装向导界面&#xff0c;点“Next”继续 确认同意…...

IEEE 754 浮点数的表示精度探讨

前言 从网上看到不少程序员对浮点数精度问题有很多疑问&#xff0c;在论坛上发贴询问&#xff0c;很多热心人给予了解答&#xff0c;但我发现一些解答中有些许小的错误和认识不当之处。我曾经做过数值算法程序&#xff0c;虽然基本可用&#xff0c;但是被浮点数精度问题所困扰…...

4n+3的形式的质数有无穷多个

证明&#xff1a;假设只有有限多个 4n3 型的质数&#xff0c; 它们分别是 P(1), P(2), ..., P(k). 令 QP(1)^2P(2)^2...P(k)^22, 首先&#xff0c; P(1)^2, P(2)^2 等等都是 4n1 型的数&#xff0c;所以 Q 是 4n3 型的数。 Q 只能有 4n1 型和 4n3 型的素因数&#xff0c;而且至…...

多事之秋

诗人&#xff1a;姜力维 秋天 一个复杂的季节 万般情感 化作跨越时空的吟诵 敲击着 古今中外 敏感脆弱你我的心灵 秋 真的是黄色的么 金灿灿 沉甸甸 诱人的欲望横流 可南国我的眼前 却满眼翠绿 秋 真的是浪漫的么 轻飘飘 明晃晃 激越的情感涌动 我目及耳闻的…...

php 做图类

<?php //把角度转换为弧度 function deg2Arc($degrees) {return ($degrees * (pi () / 180.0)); }//获取RGB function getRGB($color) {$R ($color >> 16) & 0xff;$G ($color >> 8) & 0xff;$B ($color) & 0xff;return (array ($R, $G, $B )); }…...

我的jpgraph使用实例

<?phpinclude ("jpgraph/jpgraph.php"); include ("jpgraph/jpgraph_bar.php"); include_once ("jpgraph/jpgraph_pie.php");include_once ("jpgraph/jpgraph_pie3d.php"); //$title 图片标题//$dataArray array(数据1&#x…...

实用的JS代码技术

事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 eve…...

JpGraph入门(jpgraph-2.2)

JpGraph入门&#xff0c; 官方网站&#xff1a;http://www.aditus.nu/jpgraph/ 在线手册http://doc.async.com.br/jpgraph/html/ 本文是我从其它人的例子其手册上综合写上来的&#xff0c;针对版本为jpgraph-2.2 根据手册上的步骤 第一&#xff1a;配置 ######################…...

删除grub恢复windows操作系统的启动

Linux的grub是一个非常好的引导程序&#xff0c;它可以引导多操作系统。当windows和linux共存时有时候我们想删除 grub,重新启用单一的windows该如何操作呢&#xff0c;本文会给答案的。 由于windows 2000、windows XP、windows 2003的启动机制与vista 的启动管理器有明显的差…...