`
hulunberbus
  • 浏览: 894119 次
文章分类
社区版块
存档分类
最新评论

Struts 2读书笔记------struts 2的标签

 
阅读更多
Struts2提供了大量的标签来开发表现层页面。这些标签的大部分,都可以在各种表现层技术中使用。

Struts2将所有标签分为以下三类:

UI(用户界面):主要用于生成HTML元素的标签

UI标签:主要用于数据访问、逻辑控制等的标签

Ajax标签:用于Ajax支持的标签

1、控制标签

1)if/elseif/else:都是用来进行分支控制的

语法格式为:


对于上面三个标签的组合使用,只有<s:if.../>可以单独使用。其余两个必须和<s:if.../>配合使用。在这个当中可以与多个<s:elseif.../>标签结合使用。

2)、iterator用于将ListMapArrayList等集合进行循环遍历
迭代输出时,可以指定一下三个属性:

对于上面三个标签的组合使用,只有<s:if.../>可以单独使用。其余两个必须和<s:if.../>配合使用。在这个当中可以与多个<s:elseif.../>标签结合使用。

属性

说明

value

value属性指定的是被迭代的集合。如果没有指定value属性,则使用ValueStack栈顶的集合

id

id属性指定集合里元素的ID

status

status属性指定迭代的IteratorStatus实例。通过该实例可以判断当前迭代元素的属性

3)、append标签:用于将多个集合对象拼接起来,组成一个新的集合。它允许通过一个<iterator.../>标签来完成对多个集合的迭代

该标签需要指定一个var属性,该属性确定拼接生成的新集合的名字。

<s:append.../>可以接受多个<s:param.../>子标签,每个子标签指定一个集合。

4)、generator标签:可以将指定字符串按指定分隔符分隔成多个子串。

该标签有如下属性:

属性

说明

count

该属性指定生成集合中元素的总数

separator

该属性指定用于解析字符串的分隔符

val

该属性指定被解析的字符串

converter

该属性指定一个转换器,该转换器负责将集合中的每个字符串转换成对象

var

如果指定了该属性,则将生成的Iterator对象放入StackContext

5)、merge标签:和append标签相似。

假如有两个集合{'abc','def','ghi'}{'123','456','789'}

通过append方式拼接,新集合的元素顺序为:

abcdefghi123456789

通过merge方式拼接,新集合的元素顺序为:

abc123def456ghi789

6)、subset标签:用于取得集合的子集

该标签有如下属性:

属性

说明

count

该属性指定子集合中元素的个数。如果不指定该属性,则默认取得源集合的全部元素

source

该属性指定源集合。如果不指定该属性,则默认取得ValueStack栈顶的集合

start

该属性指定子集从源集合的第几个元素开始截取。默认从第一个

decider

该属性指定由开发者子集决定是否选中该元素

var

如果指定了该属性,则将生成的Iterator对象设置为page范围的属性

7)、sort标签:用于对指定的集合元素进行排序。

进行排序时,必须提供自己的排序规则。即实现自己的Comparator

有如下几个属性:

属性

说明

comparator

该属性指定指定进行排序的Comparator实例

source

该属性指定被排序的集合。如果不指定,则默认对ValueStack栈顶的集合进行排序

var

如果指定了该属性,则将生成的Iterator对象设置成page范围的属性,不放入StackContext

数据标签:

数据标签主要用于提供各种数据访问相关的功能,包含显示一个Action里的属性,以及生成国际化输出等功能。

1)、action标签

使用action标签可以允许在jsp页面中直接调用Action。如果指定了executeResult参数的属性值为true,该标签还会把Action的处理结果包含到本页面中来。

它有如下属性:

属性

说明

var

如果定义了该属性,那么该Action将会被放入ValueStack

name

指定该标签调用哪个Action

namespace

该属性指定了该标签调用的Action所在的namespace

executeResult

该属性指定了是否要将Action的处理结果页面包含到本页面中

ignoreContextParams

该属性指定了该页面中的请求参数是否需要传入调用的action

2)、bean标签:用于创建一个javaBean实例。

它有如下两个属性:

属性

说明

name

该属性指定了要实例化的javaBean的实现类

var

如果指定了该属性,则该JavaBean实例会被放入发哦StackContext中,并放入requestScope

3)、date标签:该标签用于格式化一个日期。还可以计算指定日期和当前时刻的时差

有如下属性:

属性

说明

form

如果指定了该属性,将根据该属性指定的格式来格式化日期

nice

该属性用于指定是否输出指定日期和当前时刻之间的时差。该属性值只能为truefalse

name

该属性指定要格式化的日期值

var

如果指定了该属性格式化后的字符串将被放入StackContext

注:如果既指定了nice="true",也指定了format属性,则会输出指定日期和当前时刻之间的时差,format属性会失效。

4)、debug标签:它会在页面生成一个超级链接,通过该链接可以查看到ValueStackStackContext中所有的信息

5)include标签:用于将一个jsp页面或者一个Servlet包含到本页面中。

它有如下属性:

属性

说明

value

该属性指定需要被包含的jsp页面或者Servlet

还可以为该标签指定多个<s:param.../>子标签,用于将多个参数值传入被包含的jsp页面或者Servlet

6)、param标签:用于为其他标签提供参数

该标签有如下属性:

属性

说明

name

指定需要设置参数的参数名

value

指定需要设置参数的参数值

7)、push标签:用于将某个值放到ValueStack的栈顶

有下面一个属性:

属性

说明

value

该属性指定需要放到ValueStack栈顶的值

只有在push标签内时,被push标签放入ValueStack中的对象才存在;一旦离开了push标签,则刚刚放入的对象将会立即被移除ValueStack

8)、set标签:该标签用于将某个值放入到指定的范围内。

Set标签有如下属性:

属性

说明

scope

指定新变量被放置的范围,该属性可以接受applicationsessionrequestpage或者action5个值。默认为action

value

指定将赋给变量的值

var

如果指定了该属性,则会将被放入到request范围中,并被放入ONGLStackContext

9)、url标签:该标签用于生成一个URL地址。

可以通过为url标签指定param子元素,从而向指定URL发送请求参数。

10)、property标签:该标签的作用是输出指定值。

该标签有如下属性:

属性

说明

default

如果需要输出的属性值为null。则显示default属性指定的值

escape

指定是否escapeHTML代码

value

指定需要输出的属性值

表单标签

1)checkboxlist标签:创建复选框。相当于HTML中的checkbox标签:

属性

说明

list

根据指定的集合来生成多个复写框

listKey

该属性指定集合元素中的某个属性作为复选框的value。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为复选框的value

listValue

该属性指定集合元素中的某个属性作为复选框的标签。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为复选框的标签

2)、doubleselect标签:该标签用于生成一个级联列表框。当选择第一个下拉列表框时,第二个下拉列表框的内容会随着改变。

该标签有如下属性:

属性

说明

list

指定用于输出第一个下拉类表框中选项的集合

listKey

该属性指定集合元素中的某个属性作为第一个下拉列表框的value。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为复选框的value

listValue

该属性指定集合元素中的某个属性作为第一个下拉列表框的标签。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为第一个下拉列表框的标签

doubleList

指定用于输出第二个下拉类表框中选项的集合

doubleListKey

该属性指定集合元素中的某个属性作为第二个下拉列表框的value。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为复选框的value

doubleListValue

该属性指定集合元素中的某个属性作为第二个下拉列表框的标签。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为第二个下拉列表框的标签

doubleName

指定第二个下拉列表框的name属性

4)、head标签:用于生产HTML主要页面的head部分。

5)、optiontransferselect标签:该标签会生成两个列表选择框。并生成系列的按钮用于控制各选项在两个下拉列表之间的移动、升降。当提交表单时,两个列表选择框对应的请求参数都会被提交。

该属性有如下属性:

属性

说明

addAllToLeftLabel

设置全部移动到左边按钮上的文本

addAllToRightLabel

设置全部移动到右边按钮上的文本

addToLeftLabel

设置移动到左边按钮上的文本

addToRightLabel

设置移动到右边按钮上的文本

allowAddAllToLeft

设置是否出现全部移动到左边的按钮

allowAddAllToRight

设置是否出现全部移动到右边的按钮

allowAddToLeft

设置是否出现移动到左边的按钮

allowAddToRight

设置是否出现移动到右边的按钮

leftTitle

设置左边列表框的标题

rightTitle

设置右边列表框的标题

allowSelectAll

设置是否出现全部选择按钮

selectAllLabel

设置全部选择按钮上的文本

doubleList

设置用于创建第二个下拉选择框的集合

doubleListKey

设置用于创建第二个下拉列表框的选项value的属性

doubleListValue

设置用于创建第二个下拉列表框的选项label的属性

doubleName

设置第二个下拉选择框的name属性

doubleValue

设置第二个下拉选择框的value属性

doubleMultiple

设置第二个下拉选择框是否允许多选

list

设置用于创建第一个下拉选择框的集合

listKey

设置用于创建第一个下拉列表框的选项value的属性

listValue

设置用于创建第一个下拉列表框的选项label的属性

name

设置第一个下拉选择框的name属性

value

设置第一个下拉选择框的value属性

multiple

设置第一个下拉选择框是否允许多选

6)、select标签:该标签用于生成一个下拉列表框。

使用该标签是必须制定list属性。系统会使用list属性指定的集合来生成下拉列表框的选项

该标签有如下属性:

属性

说明

listKey

该属性指定集合元素中的某个属性作为复选框的value。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为复选框的value

listValue

该属性指定集合元素中的某个属性作为复选框的标签。如果集合是Map,则可以使用keyvalue指定Map对象的keyvalue作为复选框的标签

multiple

设置该列表是否允许多选

7)、radio标签:该标签用于生成多个单选框;

8)、optgroup标签:该标签用于生成一个下拉列表框的选项组:

该标签必须放在<s:select.../>标签中使用

9)、token标签:该标签用于阻止多次提交表单的问题。如果需要该标签起作用,则应该在Struts2的配置文件中启用TokenInterceptor拦截器

Token标签的实现原理是:在表单中增加一个隐藏域。每次加载该页面时,该隐藏域的值都会不同。而TokenInterceptor拦截器则拦截所有用户请求,如果两次请求时该token对应隐藏域的值相同,则会阻止表单提交。

10)、updownSelect标签:该标签用于生产可以上下移动的列表框;

该标签的属性如下:

属性

说明

allowMoveUP

是否显示“上移”按钮

allowMoveDown

是否显示“下移”按钮

allowSelectAll

是否显示“全选”按钮

moveUpLabel

设置“上移”按钮上的文本

moveDownLabel

设置“下移”按钮上的文本

selectAllLabel

设置“全选”按钮上的文本

读李刚《轻量级Java EE企业应用实战》
分享到:
评论

相关推荐

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    Groovy学习笔记 Struts2集成--Groovy类作为Action

    通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...

    struts-2.3.4笔记

    10. **安全考虑**:虽然Struts 2 提供了许多强大的功能,但也需要注意安全问题,例如 Struts 2 过去曾曝出过严重的漏洞,如 CVE-2017-5638(Struts Shocker)。因此,开发者应及时更新框架到最新版本,避免使用已知...

    Struts2 笔记12-20 浪曦风中叶

    ### Struts2 笔记12-20 浪曦风中叶 #### Struts2 第12 讲:StrutsListener(创建监听器) **1. 创建监听器** - **步骤一**:首先创建一个包 `com.test.listener`,接着在其中建立一个名为 `MyListener` 的 Java ...

    Struts-笔记-1

    Struts是Java Web开发中的一个开源框架,主要用来构建基于MVC(Model-View-Controller)模式的应用程序。...通过阅读Struts-笔记-1,你可以获得实践经验的总结,这对于进一步提升Struts开发技能是非常有帮助的。

    struts2 学习重点笔记

    - Struts2 还提供了标签库和 OGNL 表达式语言用于视图层的展示。 **2.4 拦截器(Interceptor)** - **作用**:在业务 Action 执行前后进行一系列的操作,如验证、数据填充等。 - **类型**: - **默认拦截器栈**:...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2提供了一系列自定义的JSP标签,如`s:textfield`、`s:textarea`、`s:submit`等,这些标签简化了视图层的开发,增强了可读性和可维护性。它们与OGNL结合,能够方便地访问ValueStack中的数据。 **六、项目实践*...

    struts2综合笔记

    - 学习如何使用 Struts2 提供的各种标签和插件来简化开发工作。 综上所述,Struts2 是一个功能强大且灵活的 MVC 框架,适用于构建复杂的 Web 应用程序。通过深入理解其核心概念和技术细节,开发者能够充分利用 ...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    Struts2入门笔记1-4

    标题"Struts2入门笔记1-4"暗示了这是一个关于Struts2基础知识的学习过程,涵盖了从基础到进阶的内容,可能包括了Struts2的核心概念、配置、拦截器以及实际应用等。 描述中提到,Struts2的控制实现是通过Filter来...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    Struts2框架笔记

    ### Struts2框架知识点 #### Struts2框架概述 Struts2是一个开源的Web应用程序框架,基于MVC(Model-View-Controller)架构模式。它为Java Web开发者提供了一个强大的平台来构建高度可扩展的应用程序。Struts2的...

    struts2课程笔记

    本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...

    struts2学习笔记

    ### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,适合初学者通过实际案例了解框架的基本用法。 - **Docs目录**:官方文档...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2 学习笔记 实战

    本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace Namespace在Struts2中主要用于组织和隔离Action,它决定了Action的访问路径。默认情况下,Namespace为...

    记录-笔记-用ANT构建-struts-spring-hibernate

    标题 "记录-笔记-用ANT构建-struts-spring-hibernate" 暗示了这篇笔记主要涉及使用Apache Ant工具来构建一个整合了Struts、Spring和Hibernate的Java Web项目。Struts是MVC(模型-视图-控制器)框架,Spring是全面的...

    Struts2框架笔记,自己整理很详细

    Struts2框架笔记,自己整理很详细 不看视频 看文档也能速度搞定Struts2

Global site tag (gtag.js) - Google Analytics