• JavaWeb框架_Struts2_(五)----->Struts2的标签库


    1.  Struts2的标签库

    1.1 Struts2标签库概述

      Struts2的标签库可以分为以下3类:用户界面标签、非用户界面标签、AJAX标签;

    2.1.1 Struts2标签库的分类和使用

    1.  从上图中可以看出,标签的分类如下:

    (1) 用户界面标签(UI标签)

      UI标签主要用来生成HTML元素的标签,又分为表单标签和非表单标签。表单标签主要用于生成HTML页面的form元素,以及普通表单元素的标签。非表单元素标签主要用于在页面生成一些非表单的可视化元素。

    (2) 非用户界面标签(非UI标签)

      非UI标签主要用于数据访问以及逻辑控制,包括数据访问标签和逻辑控制标签。数据访问标签,主要用于输出值栈(ValueStack)中的值、完成国际化等功能的标签。流程控制标签,主要用于实现分支、循环等流程控制标签。

    (3) AJAX标签

      AJAX标签用于支持Ajax效果。

    2.  Struts2标签的使用要在JSP页面代码的顶部,添加以下代码:

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

    2.2 Struts2的数据标签

      Struts2主要的数据标签如下表格所示:

    标签名 描述
    action 用于JSP页面直接调用Action,当需要调用Action时,可以指定Action的namespace,若指定了executeResult参数的值为true,该标签还会将Action的处理结果(视图页面)
    bean 用于创建一个JavaBean实例。如果指定了id属性,则可以将创建的JavaBean实例放入Stack Context中
    date 用于创建一个JavaBean实例。如果指定id属性
    debug 用于在页面上生成一个调试链接,当单击该链接时,可以看到ValueStack和StackContext中的内容
    il8n 用于指定国际化资源文件的baseName
    include 用于在JSP页面中包含其他的JSP或Servlet资源
    param 用于设置一个参数,通常是用作为bean标签、url标签的子标签
    push 用于将某个值放入ValueStack的栈顶
    set 用于设置一个新变量,并且可以将新变量放入指定的范围内
    text 用于输出国际化消息
    url 用于生成一个URL地址
    property 用于生成输出某个值,包括输出ValueStack、Stack Context和Action Context中的值

    2.3 Struts2的流程控制标签

       Struts2主要的流程控制标签如下表格所示:

    标签名 描  述
    if/elseif/else 用于控制选择输出的标签
    append 用于将多个集合拼接成为一个新的集合
    gennerator 用于将一个字符串解析成一个集合
    iterator 用于将集合迭代输出
    merge 用于将多个集合拼接成一个新的集合,但与append拼接方式不同
    sort 用于对集合进行排序
    subset 用于截取集合的部分元素,形成一个新的集合

     

    2.4 Struts2的表单标签

      Struts2的表单标签是用户最常用的标签,这些表单标签都包含了非常多的属性,但有很多属性是完全相通的。大部分表单标签和HTML标签一一对应。这里不再介绍。

    2.5 Struts2的非表单标签 

       Struts2有如下非表单标签:

    1. actionerror:如果Action实例的getActionErrors()方法返回不为null,则该标签负责输出该方法返回的系列错误;
    2. actionmessage:如果Action实例的getActionMessage()方法返回不为null,则该标签负责输出该方法返回的系列消息;
    3. fielderror:如果Action实例存在表单域的类型转换错误、校验错误、则该标签负责输出这些错误提示。

       我觉得Struts2标签库,这一板块没必要深究,认真看了看,更多的是记忆的东西,用的多了就记住了。所以,项目中遇到忘记了的标签,直接查一下就好了,这样效果也比较好。

  • 相关阅读:
    Jenkins+Tomcat+svn+maven自动化构建简单过程
    Eclipse常用的6个Debug技巧
    在linux服务器上发布web应用的完整过程
    【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码
    springmvc缓存和mybatis缓存
    springmvc文件上传和下载
    博客园API
    整理一下CoreGraphic和Quartz2D的知识(二)
    整理一下CoreGraphic和Quartz2D的知识(一)
    CGPoint和CGSize以及CGRect的一些方法~
  • 原文地址:https://www.cnblogs.com/Mairr/p/7919413.html
Copyright © 2020-2023  润新知