- 浏览: 105585 次
- 性别:
- 来自: 南京
文章分类
最新评论
Struts 框架提供了一系列的框架组件,同时,他也提供了一系列的标签(Tag)用于和框架进行交互。Struts提供的标签包含
在以下四个标签库(Tag libraries)中:
· HTML
· Bean
· Logic
· Template
这四个标签库所包含的标签功能各自截然不同,从标签库的名字我们可以看出其功能,如,HTML 标签库是用来包装
HTML控件的。
1.3 在Struts应用中使用标签库
和使用其它标签库一样,使用Struts 提供的标签库只需要简单的两步:
1、 在web.xml 中声明标签库:
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
2、 在JSP 页面中引入标签库:
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
1.4 Struts HTML标签库
HTML标签库中的标签列表
标签名 描述
base 包装HTML 的base元素
button 包装HTML的 button类型的input元素
cancel 包装HTML cancel 按钮
checkbox 包装HTML checkbox 类型的输入域
errors 有条件地显示一些error 消息,显示ActionErrors信息
file 包装HTML文件上传输入域
form 定义HTML form 元素
frame 包装HTML frame 元素
hidden 包装HTML hidden 输入域
html 包装 HTML 中的 html 元素
image 包装 "image"类型的输入域
img 包装HTML的 img 元素
javascript 包装根据ValidatorPlugIn 提供的校验规则所提供的javascript校验脚本
link 包装超链接
messages 有条件地显示一些提示信息,显示ActionMessages信息
multibox 包装多选输入框
option 包装一个选择输入框
options 包装一批选择输入框
optionsCollection 包装一批选择输入框集
password 包装密文输入框
radio 包装单选输入框
reset 包装“重置”功能的按钮
rewrite 包装一个URL
select 包装一个选择输入框
submit 包装一个提交按钮
text 包装一个文本输入框
textarea 包装一个备注输入框
在这里,不打算对每一个标签的使用进行详细说明,要想了解每一个标签的使用,请查看Struts官方文档。
接下来,我们着重学习一下几个非常重要的标签的使用,举一反三,通过这几个标签的使用,我想,即使不去看官方文
档,也能够对其它标签的使用有个基本的了解。
1.1.1 form标签
Struts的form 标签是最重要的标签之一,他包装了HTML的标准form标签,提供了将HTML form 和ActionForm 连
接起来的功能。
HTML form中的每一个域对应ActionForm 的一个属性,当提交HTML from后,Struts 根据匹配关系,将HTML from
域的值赋给ActionForm 的同名属性。下表列举了form标签的属性,并且针对每一个属性加以详细说明:
Struts form 标签属性列表
Name Description
action
form 提交的目标地址,action 用来选择一个Struts Action 对提交后的客户请求进行处理。通过和action 的
path 属性进行匹配来选择Struts Action。
如果在web.xml 中设置的servlet 映射是扩展名映射,则可以用以下方式进行Action 匹
配(扩展名可以不作为匹配内容):
<html:form action="login.do" focus="accessNumber">
上面的语句表示form提交后,交给path属性值为login的Action 进行处理
如果在web.xml中设置的servlet映射是路径映射,则action的值必须完全匹配Struts Action的path属性值,
例如:
<html:form action="login" focus="accessNumber">
enctype 提交form使用的编码方式
focus 页面初始化时光标定位的输入控件名
method 提交请求的HTTP 方式(‘POST’ or ‘GET’)
name 对应的ActionForm的名字 ,如果不指定,则使用Struts Action 在配置文件中name 属性所指定的ActionForm。
onreset 当form 重置时执行的Javascript
onsubmit 当form 提交时执行的javascript
scope 与form对应的ActionForm 的有效区域,可以为request 或session
style CSS 样式表The CSS styles to be applied to this HTML element.
styleClass CSS 样式类别
styleId HTML元素的ID
target form提交的目标frame
type form对应的ActionForm的类名
1.2 Struts Logic 标签库
Struts Logic 标签库中包含的标签列表
Tag name Description
empty 如果标签parameter,propertie等属性所指定的变量值为null或空字符串,则处理标签包含的内容
equal
如果标签parameter,propertie等属性所指定的变量的值等于标签value属性所指定的值,则处理标签
所包含的内容,如:
<logic:equal value="modify" property="action" name="projectForm">
<bean:message key="project.project_modify"/>
</logic:equal>
上面的示例表示,如果projectForm的action属性等于modify,则处理<bean:message
key="project.project_modify"/>语句。
forward Forward control to the page specified by the ActionForward entry.
greaterEqual
Evaluate the nested body content of this tag if the requested variable is greater than or equal to the
specified value.
greaterThan
Evaluate the nested body content of this tag if the requested variable is greater than the specified
value.
iterate Repeat the nested body content of this tag over a specified collection.
lessEqual
Evaluate the nested body content of this tag if the requested variable is less than or equal to the
specified value.
lessThan Evaluate the nested body content of this tag if the requested variable is less than the specified value.
match
Evaluate the nested body content of this tag if the specified value is an appropriate substring of the
requested variable.
messagesNotPresent Generate the nested body content of this tag if the specified message is not present in this request.
messagesPresent Generate the nested body content of this tag if the specified message is present in this request.
notEmpty
Evaluate the nested body content of this tag if the requested variable is neither null nor an empty
string.
notEqual
Evaluate the nested body content of this tag if the requested variable is not equal to the specified
value.
notMatch
Evaluate the nested body content of this tag if the specified value is not an appropriate substring of
the requested variable.
notPresent Generate the nested body content of this tag if the specified value is not present in this request.
present Generate the nested body content of this tag if the specified value is present in this request.
redirect Render an HTTP redirect.
执行比较功能的标签通用属性表
Name Description
name
The name of a bean to use to compare against the value attribute. If the property attribute is used, the value is
compared against the property of the bean, instead of the bean itself.
parameter The name of a request parameter to compare the value attribute against.
property
The variable to be compared is the property (of the bean specified by the name attribute) specified by this attribute.
The property reference can be simple, nested, and/or indexed.
scope
The scope within which to search for the bean named by the name attribute. All scopes will be searched if not
specified.
value The constant value to which the variable, specified by another attribute(s) of this tag, will be compared.
示例:
To check whether a particular request parameter is present, you can use the Logic present tag:
<logic:present parameter="id">
<!-- Print out the request parameter id value -->
</logic:present>
To check whether a collection is empty before iterating over it, you can use the notEmpty tag:
<logic:notEmpty name="userSummary" property="addresses">
<!-- Iterate and print out the user's addresses -->
</logic:notEmpty>
Finally, here's how to compare a number value against a property within an ActionForm:
<logic:lessThan property="age" value="21">
<!-- Display a message about the user's age -->
</logic:lessThan>
1.1 Struts Bean标签库
Struts Bean 标签库中的标签列表
Tag name Description
cookie Define a scripting variable based on the value(s) of the specified request cookie.
define Define a scripting variable based on the value(s) of the specified bean property.
header Define a scripting variable based on the value(s) of the specified request header.
include Load the response from a dynamic application request and make it available as a bean.
message Render an internationalized message string to the response.
page Expose a specified item from the page context as a bean.
parameter Define a scripting variable based on the value(s) of the specified request parameter.
resource Load a web application resource and make it available as a bean.
size Define a bean containing the number of elements in a Collection or Map.
struts Expose a named Struts internal configuration object as a bean.
write Render the value of the specified bean property.
1.2 Struts Template标签库
Struts Template 标签库中的标签列表
Tag name Description
insert
Retrieve (or include) the specified template file, and then insert the specified content into the
template's layout. By changing the layout defined in the template file, any other file that inserts
the template will automatically use the new layout.
put
Create a request-scope bean that specifies the content to be used by the get tag. Content can
be printed directly or included from a JSP or HTML file.
get Retrieve content from a request-scope bean, for use in the template layout.
发表评论
-
规范的模板化项目架构管理
2012-05-03 23:31 894总在寻找项目开发简单化、标准化、统一化的开发管理方法,在项目 ... -
Java的ftp上传下载工具
2012-04-05 22:17 1775自己写的利用apache的net包写的ftp的上传、下 ... -
SmartGWT学习注意事项(一)
2012-03-31 20:42 1583首先表明,我 ... -
J2ME程序开发全方位基础讲解汇总
2007-08-03 14:19 628一、J2ME中需要的Java基础知识现在有大部分人,都是从零开 ... -
使用J2ME技术开发RPG游戏
2007-08-03 14:24 557RPG(角色扮演游戏)是手机游戏中的一类主要类型,也是相对来说 ... -
移动视频: QuickTime for Java API 入门
2007-08-05 12:45 626在 Java 平台上创建 iPod 视频内容 ... -
技术交流:QuickTime流媒体和Java(图)
2007-08-05 12:46 635这并不是即将问世的Quic ... -
JMF下载安装与支持格式
2007-08-05 12:47 859JMF开发进度不是很快,所以目前还是比较薄弱。 JMF,全名 ... -
搭建J2ME开发环境
2007-08-05 12:48 569由于WTK并没有提供代码编辑的功能,因此本文讲述如何使用Ecl ... -
JMF系统介绍
2007-08-09 15:18 725一.简介 1.1JMF 体系结构 ... -
Experiments in Streaming Content in Java ME(一)
2007-08-13 13:43 584Since my book on Mobile Media A ... -
Experiments in Streaming Content in Java ME(二)----Creating an RTSP Protocol Handler
2007-08-13 13:44 1452Recall that RTSP is the actual ... -
Experiments in Streaming Content in Java ME(三)-----Back to RTPSourceStream and StreamingDataSource
2007-08-13 13:46 1033With the protocol handler in pl ... -
java中文件操作大全
2007-08-22 15:40 558一.获得控制台用户输入的信息 /***//**获得控 ... -
Pocket PC、Pocket PC Phone、Smartphone的区别
2007-08-23 16:59 663首先说明几个概念: 1、什么是Pocket PC?Pocket ... -
Struts配置文件详解(来自csdn)
2007-11-30 08:35 500Struts应用采用两个基于X ... -
jBPM开发入门指南(5)
2007-11-30 08:45 540jBPM开发入门指南(5) 前篇说起要讲在JBPM中实现用 ... -
jBPM开发入门指南(4)
2007-11-30 08:48 615jBPM开发入门指南(4) 7 jBPM 的客户端 ... -
jBPM开发入门指南(3)
2007-11-30 08:51 6435 安装 jBPM 的 Eclipse 开发插件 有 ... -
jBPM开发入门指南(2)
2007-11-30 08:52 6554 数据库初始化 jBPM 需要数据库支持, jBPM ...
相关推荐
Bean Tags 是 Struts 中最基本的标签库,包含的标签可以用来创建 bean、访问 bean 和访问 bean 的属性。同时提供了依据 cookies、headers 和 parameters 的值创建相关 bean 的能力。 * bean:cookie:取回请求中名称...
Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...
Struts2标签库是专为Struts2框架设计的一组JSP标签,旨在简化视图层的开发,提高代码的可读性和维护性。这些标签分为UI标签和非UI标签,分别用于生成HTML元素和处理数据访问及逻辑控制。通过使用标签库,开发者可以...
Struts1标签库是Java Web开发中的一种工具,主要用于简化基于MVC模式的Struts框架下的JSP页面开发。尽管目前Struts1已逐渐被更新的版本如Struts2取代,但了解其标签库仍然有助于理解Web应用的历史发展和基础概念。 ...
Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...
这个“Struts2标签库详解(非常不错)”的资源应该包含了对Struts2所有标签的详细介绍,以及相关的API文档。 Struts2标签库的核心在于提供了一种声明式编程的方式,使得开发者可以更专注于业务逻辑,而不是繁琐的JSP...
Struts1是一个经典的Java Web开发框架,其核心之一就是丰富的标签库,它简化了开发者在JSP页面上的工作。在本文中,我们将深入探讨Struts1的四个主要标签库:bean、logic、html和tiles,并重点讲解每个库中的关键...
Struts2标签库是Java Web开发中的重要组成部分,它极大地简化了视图层的构建,提高了开发效率。Struts2框架提供了丰富的标签集合,这些标签主要用于JSP页面,帮助开发者处理常见任务,如数据展示、表单处理、逻辑...
核心标签库提供了一组基础功能,如表单处理、控制流程、消息显示等,而展示标签库则包含更具体的UI元素,如数据展示、分页等。了解这些标签库的使用,可以显著提高开发效率和代码可读性。 1. **核心标签库**: - `...
表单标签库是Struts2的一大特色,它包括`<s:form>`,`<s:textarea>`,`<s:radio>`,`<s:checkbox>`等,这些标签提供了强大的表单处理功能,如自动验证、错误显示和动态表单生成。 **6. 使用Struts标签库的优势** -...
Struts 2 标签的使用注意事项 Struts 2 是一个基于MVC架构的...使用Struts 2标签需要注意配置Struts 2的核心Filter和导入Struts 2标签库。同时,Struts 2标签的用法非常广泛,包括表单标签、验证标签、数据标签等。
- Struts标签库包括核心标签库(struts-tiles)和HTML标签库(struts-html),以及其他如逻辑标签库(struts-logic)、bean标签库(struts-bean)等。 - 核心标签库主要用于页面布局和组件管理,而HTML标签库则...
软件开发框架Struts 2 标签库概述 Struts 2 标签库是Java Web 应用程序开发中的一种常用框架,提供了丰富的标签库,帮助开发者快速构建Web 应用程序。本资源摘要信息涵盖了Struts 2 标签库的概述、控制标签、数据...
- 确保Struts的库已正确导入项目中,包括struts.jar和对应版本的标签库依赖。 - 配置struts-config.xml文件,定义Action和结果页面,以便标签能够正确地访问和跳转。 - 注意标签的属性使用,如value、name、id等...
Struts标签库是Java Web开发中的一个重要组成部分,主要用于构建基于MVC(模型-视图-控制器)架构的应用程序。这个库极大地简化了JSP页面的编写,提供了丰富的标签来处理常见的Web开发任务,如表单处理、数据校验、...
### Struts2标签库详解:实现高效Web应用开发 #### 引言 Struts2框架作为Java Web开发中的一种流行框架,提供了丰富的标签库来简化前端界面的开发工作。Struts2标签库不仅提升了开发效率,还增强了代码的可读性...
本章主要聚焦于Struts2的标签库及其AJAX技术的应用,这两个关键点对于提升用户体验和增强应用程序交互性至关重要。 Struts2标签库是Struts2框架的核心组成部分之一,它提供了一系列预定义的JSP标签,用于简化视图层...
2. **Bean标签库**:这些标签用于操作JavaBeans,包括创建、访问属性和设置新的bean。例如,`<bean:define>`用于定义新的bean,`<bean:write>`和`<bean:property>`用于读取和写入bean的属性。 3. **Logic标签库**:...
Struts标签库是Java开发中基于Struts框架的一个重要组件,它为开发者提供了一系列便捷的JSP标签,简化了Web应用的开发工作。本章主要介绍了五个主要的Struts标签库,分别是HTML标签库、Bean标签库、Logic标签库、...