`
高成锋
  • 浏览: 52770 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

struts2学习笔记【十二】 / 标签

阅读更多

1. Struts2标签库

1.1. Struts2标签库概述

Struts2标签库的组成

Struts2框架的标签库可以分为以下三类:

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

表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。

非表单标签:主要用于生成页面上的treeTab页等。

非用户界面标签(UI标签):主要用于数据访问,逻辑控制。

数据访问标签:主要包含用于输出值栈(ValueStack)中的值,完成国际化等功能的标签。

流程控制标签:主要包含用于实现分支,循环等流程控制的标签。

AJAX标签:用于支持Ajax效果

要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部加入以下的代码:

<%@taglib prefix="s" uri="/struts-tags" %>

1.2. Struts2标签语法

Struts2的标签都支持动态数据的访问,标签的属性都可以使用OGNL表达式,struts2标签的属性具有类型,这些类型可以简单地分为字符串类型和非字符串类型,对于字符串类型的属性,如果要访问动态数据,需要使用%{… }这样的语法,

例如:<s:include value=%{ url }” />

Include标签的value属性是字符串类型,Struts2将对这个属性进行解析,查找符合%{}样式的字符串,然后将花括号之间的内容作为OGNL表达式进行求值。如果属性中没有%{}样式的字符串,那么属性的值将被直接看成是字符串数据。

例如:<s:include value=urlTag.action” />

对于非字符串类型的属性值,将直接作为OGNL表达式进行求值。

例如:<s:property value=username/>

property标签的value属性是Object类型,它的值username将作为OGNL表达式进行求值,结果是值栈中位于栈顶的对象的username属性的值。如果要为非字符串类型的属性直接指定字符串数据,那么需要使用OGNL中的字符串常量,即用单引号(‘)或双引号(“)将字符串括起来。

例如:<s:property value=“’zhangsan‘”/>

value属性的值‘zhangsan’作为字符串常量,计算结果就是zhangsan,因此输出zhangsan

除上述用法之外,也可以使用%{}这样的语法来指定字符串常量。

例如: <s:property value=%{ zhangsan’ }/>

在这种情况下,%{ }将被忽略,花括号中的内容将作为表达式被计算。

总结一下,struts2标签的属性按照下列的三个规则进行计算。

(1)所有的字符串属性类型都会解析“%{}”这样的语法。

(2)所有的非字符属性类型都不会被解析,而是直接被看作一个OGNL表达式进行求值

(3)对于第二个规则的例外情况是,如果非字符串属性使用了“%{}”语法,那么%{}将被忽略,花括号中的内容将作为表达式计算。

如果大家在使用标签时, 忘记了某个属性是字符串类型,还是非字符串类型,那么有一个简单的方法,那就是不考虑它是什么类型,统一使用“%{}”语法。

1.3. Struts2通用标签

Struts2中通用标签可以分为二类:控制标签和数据标签。

控制标签用于呈现页面时控制执行流程

数据标签用于访问值栈中的数据。

数据标签:用于访问ActionContext和值栈中的数据。数据标签包括:

property set push param bean action include

url a i18n text date debug

控制标签:用于在呈现结果页面时控制程序的执行流程,根据程序执行的状态输出不同的结果,控制标签包括下列标签:

if/elseif/else       iterator append     merge

generator       subset sort

<!--EndFragment-->
分享到:
评论

相关推荐

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

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

    Struts2学习笔记

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

    struts2学习笔记.doc

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

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2 学习笔记 实战

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

    struts 2 学习笔记

    在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...

    Struts1及14. Struts2学习笔记

    在Struts2的学习笔记中,`note.jsp`可能同样用于显示和编辑笔记,但使用的是Struts2的标签库,如`&lt;s:property&gt;`来显示模型对象的属性,以及`s:form`标签创建表单。Struts2允许直接在JSP页面中使用Action的属性,无需...

    struts2详细学习笔记

    总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为。此外,还需了解Action、Interceptor(拦截器)的概念,以及结果类型、异常处理、国际化支持等内容。熟练掌握...

    struts2综合笔记

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

    Struts2 学习笔记

    Struts2标签目录 28 一、 property标签 28 二、 set标签 29 三、 bean标签 29 四、 标签-少使用 29 五、 If elseif else 30 六、 Iterator标签 31 七、 Theme 31 05设计约定(编码规定) 32 06 项目开发顺序 32 07 ...

    传智播客struts2全程学习笔记

    ### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...

    struts2课程笔记

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

Global site tag (gtag.js) - Google Analytics