呼唤多彩界面-Struts 2标签库的组成和使用(11)

Struts2标签库中文完整参考指南(chw) 本文还有配套的精品资源,点击获取 简介:Struts2_tags中文版是一份详尽的Struts2框架JSP标签文档,旨在简化基于Struts2的Web应用开发。文档包括各种标签的用法,如数据显示、表单处理、用户交互等,提供了一个高效构建动态Web页面的工具。这些标签通过替代传统Java代码,使得视图层更加清晰、易于维护。文档中还包含了关键标签如s:property、s:fo... 阅读详情

9.1.2   Struts 2标签库组成

Struts 2框架的标签库可以分为以下3类。

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

— 非用户界面标签:主要用于数据访问、逻辑控制等。

— AJAX标签:AJAX是Web 2.0阶段系列技术和相关产品服务中非常重要的一种技术,其全称是异步JavaScript和XML(即Asynchronous JavaScript and XML)。该标签用来支持AJAX技术。

其中,用户界面标签(UI标签),可以分为下面两类。

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

— 非表单标签:非表单标签主要用于生成页面上的tree、Tab页等。

非界面标签,即非UI标签,也可以分为以下两类。

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

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

Struts 2框架的标签库可以按照如图9.1所示分类。

图9.1  Struts 2标签库分类

★ 说明 ★

Struts 2标签库简化了开发代码,增强了代码的可读性和可维护性。

 

9.1.3   Struts 2标签库的使用

前面介绍了标签库的特点和标签库的组成,开发标签库主要有两个主要的步骤:开发标签库实现类和定义标签库定义文件(TLD文件)。在Struts 2框架中,提供了标签的处理实现类和标签库定义文件。

读者可以在struts2-core- 2.0.11 .jar压缩文件的META-INF目录下找到struts-tags.tld文件,如图9.2所示。

图9.2  Struts 2的标签库定义文件

struts-tags.tld是一个标准的XML文件,其内容片断如代码9.1所示。

代码9.1  struts-tags.tld内容片断

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>

  <tlib-version> 2.2.3 </tlib-version>

  <jsp-version>1.2</jsp-version>

< -- 指定标签库默认的名称 -- >

  <short-name>s</short-name>

< -- 指定标签库默认的URI -- >

  <uri>/struts-tags</uri>

  <display-name>"Struts Tags"</display-name>

  <description><![CDATA["To make it easier to access dynamic data;

                    the Apache Struts framework includes a library of custom tags.

                    The tags interact with the framework's validation and internationalization features;

                    to ensure that input is correct and output is localized.

                    The Struts Tags can be used with JSP FreeMarker or Velocity."]]> </description>

< -- 定义标签action -- >

  <tag>

    <name>action</name>

    <tag-class>org.apache.struts2.views.jsp.ActionTag</tag-class>

    <body-content>JSP</body-content>

    <description><![CDATA[Execute an action from within a view]]></description>

    <attribute>

      <name>executeResult</name>

      <required>false</required>

      <rtexprvalue>false</rtexprvalue>

      <description><![CDATA[Whether the result of this action (probably a view) should be executed/rendered]]></description>

    </attribute>

    <attribute>

      <name>flush</name>

      <required>false</required>

      <rtexprvalue>false</rtexprvalue>

      <description><![CDATA[Whether the writer should be flush upon end of action component tag, default to true]]></description>

    </attribute>

    <attribute>

      <name>id</name>

      <required>false</required>

      <rtexprvalue>false</rtexprvalue>

      <description><![CDATA[id for referencing element. For UI and form tags it will be used as HTML id attribute]]></description>

    </attribute>

    <attribute>

      <name>ignoreContextParams</name>

      <required>false</required>

      <rtexprvalue>false</rtexprvalue>

      <description><![CDATA[Whether the request parameters are to be included when the action is invoked]]></description>

    </attribute>

    <attribute>

      <name>name</name>

      <required>true</required>

      <rtexprvalue>false</rtexprvalue>

      <description><![CDATA[Name of the action to be executed (without the extension suffix eg. .action)]]></description>

    </attribute>

    <attribute>

      <name>namespace</name>

      <required>false</required>

      <rtexprvalue>false</rtexprvalue>

      <description><![CDATA[Namespace for action to call]]></description>

    </attribute>

  </tag>

… …

如果需要在JSP页面中使用标签库,则需要使用<taglib-location…/>元素指定标签库定义文件(TLD)文件的位置。一个标准的使用Struts 2标签库的格式如下:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>

<--导入Struts 2标签库-->

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

使用上面代码导入Struts 2框架的系统的标签库,其中s为标签库默认的短名,在JSP的标签使用中引用。

★ 注意 ★

如果开发者使用Servlet 2.3或者更早的规范时,需要在web.xml中增加标签库的定义,才能够在页面中使用taglib来导入标签库。

 

9.1.4   Struts 2同Struts 1标签库的比较

熟悉Struts 1.x的读者会发现,Struts 2框架中的标签库同Struts 1相比较,发生了比较大的变化。

— Struts 1框架中将标签库分为html、bean、logic、tiles和nested总共5个标签库,开发者在页面中需要分别导入;Struts 2框架的标签库不进行分类,只有一个标签库s,URI为/struts-tags,简化了标签库的导入。

— Struts 1.X标签并不支持表达式语言,如要需要在Struts 1.X中使用表达式语言,则需要安装相应的插件;Struts 2框架默认支持OGNL、JSTL、Groovy和Velcity等表达式。

— Struts 1.X标签库只支持JSP等少数表现层技术,但是Struts 2标签库可以支持多种表现层技术,例如JSP、FreeMarker和Velcity等。

 

深入理解Struts2标签及其应用 Struts2标签库自诞生以来,一直为Web应用开发提供了一种简便的方式来处理页面上的数据。通过其声明式特性和内置标签,开发人员能够轻松地创建复杂的用户界面。 阅读详情

相关推荐

struts2标签库struts2标签库struts2标签库

struts2标签库struts2标签库struts2标签库struts2标签库

Struts2的标签库大全(案例+用法+解析)

一、通用标签库 1、判断标签 <s:if> <s:elseif> <s:else> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html> <html&gt

程序员猫爪 2128

Struts2标签库详解

Struts2标签库详解,Struts2标签库详解,Struts2标签库详解,Struts2标签库详解,Struts2标签库详解,Struts2标签库详解,Struts2标签库详解,Struts2标签库详解,Struts2标签库详解,

Struts2的标签库

    对于一个MVC框架而言,重点是实现两部分:业务逻辑控制部分和视图页面部分。Struts2中的控制器主要由Action来提供支持,而视图则是由大量的标签来提供支持。 一、Struts2标签库的概述     在JavaWeb中,Struts2标签库是一个比较完善,而且功能强大的标签库,它将所有标签都统一到一个标签库中,从而简化了标签的使用,它还提供主题和模板的支持,极大简化了视图页面代码的...

Java学习 1398

Struts 2标签库

有关、相关、类似这样的Struts 2标签库的详细介绍。

struts2 标签库 帮助文档

Struts 2 标签库(文档手册) Tags-API-CLSW-JSP <%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:action name=""></s:action>-----执行一个view里面的一个action 4. <s:actionerror/>-----如果action的errors有值那么显示出来 5. <s:actionmessage/>-----如果action的message有值那么显示出来 6. <s:append></s:append>-----添加一个值到list,类似于list.add(); 7. <s:autocompleter></s:autocompleter>-----自动完成<s:combobox>标签的内容,这个是ajax B: 1. <s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值 C: 1. <s:checkbox></s:checkbox>-----复选框 2. <s:checkboxlist list=""></s:checkboxlist>-----多选框 3. <s:combobox list=""></s:combobox>-----下拉框 4. <s:component></s:component>-----图像符号 D: 1. <s:date/>-----获取日期格式 2. <s:datetimepicker></s:datetimepicker>-----日期输入框 3. <s:debug></s:debug>-----显示错误信息 4. <s:div></s:div>-----表示一个块,类似于html的<div></div> 5. <s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----双下拉框 E: 1. <s:if test=""></s:if> 2. <s:elseif test=""></s:elseif> 3. <s:else></s:else>-----这3个标签一起使用,表示条件判断 F: 1. <s:fielderror></s:fielderror>-----显示文件错误信息 2. <s:file></s:file>-----文件上传 3. <s:form action=""></s:form>-----获取相应form的值 G: 1. <s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用 H: 1. <s:head/>-----在<head></head>里使用,表示头文件结束 2. <s:hidden></s:hidden>-----隐藏值 I: 1. <s:i18n name=""></s:i18n>-----加载资源包到值堆栈 2. <s:include value=""></s:include>-----包含一个输出,servlet或jsp页面 3. <s:inputtransferselect list=""></s:inputtransferselect>-----获取form的一个输入 4. <s:iterator></s:iterator>-----用于遍历集合 L: 1. <s:label></s:label>-----只读的标签 M: 1. <s:merge></s:merge>-----合并遍历集合出来的值 O: 1. <s:optgroup></s:optgroup>-----获取标签组 2. <s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右选择框 P: 1. <s:param></s:param>-----为其他标签提供参数 2. <s:password></s:password>-----密码输入框 3. <s:property/>-----得到'value'的属性 4. <s:push value=""></s:push>-----value的值push到栈中,从而使property标签的能够获取value的属性 R: 1. 2. <s:radio list=""></s:radio>-----单选按钮 3. <s:reset></s:reset>-----重置按钮 S: 1. <s:select list=""></s:select>-----单选框 2. <s:set name=""></s:set>-----赋予变量一个特定范围内的值 3. <s:sort comparator=""></s:sort>-----通过属性给list分类 4. <s:submit></s:submit>-----提交按钮 5. <s:subset></s:subset>-----为遍历集合输出子集 T: 1. <s:tabbedPanel id=""></s:tabbedPanel>-----表格框 2. <s:table></s:table>-----表格 3. <s:text name=""></s:text>-----I18n文本信息 4. <s:textarea></s:textarea>-----文本域输入框 5. <s:textfield></s:textfield>-----文本输入框 6. <s:token></s:token>-----拦截器 7. <s:tree></s:tree>-----树 8. <s:treenode label=""></s:treenode>-----树的结构 U: 1. <s:updownselect list=""></s:updownselect>-----多选择框 2. <s:url></s:url>-----创建url ___________________________________________________ struts2框架的标签库分为三类: 用户标签:生成HTML元素 非用户标签:数据访问、逻辑控制等。 AJAX标签:支持AJAX技术。 用户界面标签又分两类: 表单标签:生成HTML页面的from元素 非表单标签:生成页面上的Tab、Tree等 非界面标签又分为数据访问标签和流程控制标签。 控制标签: if/elseif/else标签:控制流程分支。 iteratot标签:对集合属性迭代(属性类型:List、Map、数组)。 append标签:将多个集合对象拼接在一起,组成一个新的集合。将多个集合使用一个<iterator/>标签完成迭代。 generatot标签:将指定的字符串按照规定的分隔符分解成多个子字符串。 merge标签:将多个集合拼接在一起。 subset标签:获取某个集合的子集合。 sort标签:多指定的集合元素进行排序。 数据标签: action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。 bean:创建一个JavaBean实例。。 date:格式化输出一个日期属性。 debug:生成一个调试链接,当单击该链接时,可以看到当前栈值中的内容。 i18n:指定国际化资源文件的baseName。 include:包含其他的页面资源。 param:设置参数。 property:输出某个值。可以输出值栈、StackContext 、ActionContext中的值。 push:将某个值放入值栈。 set:设置一个新的变量。 text:输出国际化信息。 url:生成一个URL地址。 表单标签: checkbox标签:复选框。 checkboxlist标签:根据一个集合属性创建一系列的复选框。 combobox标签:生成一个单选文本框和一个下拉列表框的组合。 doubleselect标签:生成一个相互关联的列表框,该标签由两个下拉选择框组成。 datetimepicker标签:生成一个日期、时间下拉列表框。 head标签:生成HTML页面的HEAD部分。 file标签:在页面上生成一个上传文件元素。 hidder标签:生成一个不看见的用户输入元素。 select标签:生成下拉列表框。 optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮可以控制选项在两个下拉列表之间移动、排序。 radio标签:单选框。 optgroup标签:生成一个下拉列表框的选择组,下拉列表框中可以包含多个选择组。 token标签:防用户多次提交表单。 textarea标签:文本域。 updownselct标签:支持选项内容的上下移动。 password表单:密码表单域。 textfield标签:单行文本输入框。 非表单标签: actionerror标签:输出Action中getActionErrors()方法返回的异常信息。 actionmessage标签:输出Action中getActionErrors()方法返回的信息。 component标签:生成一个自定义的组件。 div标签:AJAX标签,生成一个div片段。 fielderror标签:输出异常提示信息。 tabbedPanel:AJAX标签,生成HTML中的Tab页。 tree标签:生成一个树形结构。 treenode标签:生成树形结构的节点。

Struts2标签库

Struts2标签主要学习目标 一、 Struts2标签库概述 二、 Struts2数据标签 三、 Struts2控制标签 四、 Struts2表单标签 五、 Struts2非表单标签 Struts2标签库概述 Struts2标签库的组成 Struts2...

weixin_30813225的博客 326

struts的tld标签库文件

struts的tld文件,struts-html标签库。这个库可以被用来生成动态HTML用户界面和窗体。 ·struts-bean标签库。在将JavaBean代码放入JSP 页面时这个库提供实质性的加强的功能以改善其性能,它由标签提供。 ·struts-logic标签库。这个库可管理有条件的文本生成,在对象集合中循环以重复生成输出文本和应用程序流程管理。 ·struts-template标签库。在为具有相同的风格或格式生成动态JSP模板时,这个库所提供的标签会有很大的帮助。

Struts2的标签库详解(一)

Struts2框架提供了丰富的标签库用于构建视图组件。Struts2标签库大大简化了视图页面的开发,并且提高了视图组件的可维护性。 Struts2标签库一般分为三大类:UI标签、非UI标签、Ajax标签。 UI标签(用户界面标签):主要用来生成HTML元素的标签。 非UI标签(非用户界面标签):只要用来实现数据访问、逻辑控制。 Ajax标签:主要用于Ajax技术。 ...

monkey_wei的博客 1630

LAP-D协议概述

Q.921协议由称为LAPD(链路访问协议-D通道),与HDLC的关系密切,它是在ISDN D通道上使用的数据链路协议。 注:http://www.freesoft.org/CIE/Topics/125.htm LAP-D的帧格式 标志、位填充技术和FCS校验计算与HDLC一致。 16位的地址包括C/R字段、SAPI(服务访问点标识)和TEI(端点标识)。TEI用于区分使用相同ISDN...

系统运维 1914

VSCode 降低适用版本并且关闭自动更新

官方表示,提高了远程服务器构建工具链的最低要求,更新了对 glibc 的要求,需要最低2.28版本。最快的方法是把vs code的版本降到1.85(为什么是这个版本呢?打开VS Code的官方网站(https://code.visualstudio.com/)通过查看可以知道,具体的版本没有直接显示分类,他是根据发布日期来分类的同时和版本匹配。在网站的顶部导航栏中找到”Updates”按钮,点击进入下载页面。找了半天一直没发现,原来就在紧挨着的下面。远程主机不满足运行vs code服务器的先决条件。

Sunflower的博客 9580

Struts2标签库整理【完整】

Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 头声明: struts2的标签可以分为五大类: 一、逻辑控制标签 (1)条件标签 条件标签主要有3个子标签,用于执行基本的条件流转

雾里看花 4万+

转录组PCA分析3大常见误区:数据标准化、离群样本与批次效应处理

本文深入探讨转录组PCA分析中的三大常见误区:数据标准化、离群样本识别与批次效应处理。通过实战案例和R代码演示,揭示如何优化PCA结果以提升生物学解释力,特别关注数据标准化策略的选择和批次校正方法的应用,帮助研究者避免常见陷阱并获得可靠的转录组分析结果。

weixin_28362173的博客 372

Java项目Struts2.3.35升级到2.5.30过程中遇到的问题

Java项目Struts2.3.35升级到2.5.30过程中遇到的问题

Raphael的博客 2168

数字IC设计实现之hierarchical flow系列(一)

数字IC设计实现之hierarchical flow系列(一) 最近这段时间小编又比较忙起来了,今天抽空来咖啡厅码字来了,刚到时脑子一片空白,不知道要分享些什么(项目结束后将会在知识星球上分享数字 IC 设计实现 Tapeout 前要review的那些 checklist)。突然间想起来有个星友希望小编分享些数字 IC 设计实现 hierarchical flow 的相关内容。考虑到现在大都采用这种方式来做 design 和实现,那就选这个 topic 了。限于篇幅和时间限制,今天只分享逻辑综合部分和布局布

weixin_37584728的博客 5998

Android系统修改驱动固定USB摄像头节点绑定前后置摄像头

Android系统中usb摄像头节点会因为摄像头所接的usb口不同或者usb设备识别顺序不一样而出现每次开机生成的video节点不一样的问题。由于客户app调用摄像头时,需要固定摄像头的节点。因此需要针对前面的情况做处理。

Android系统开发笔记 2250

Strut2的标签库

Struts2标签库 在servlet2.3及之前的版本需要在web.xml中定义标签库 UI标签: |-表单标签 |-checkboxlist |-combobox |-datetimepicker 日期时间下拉框 |-doubleselect 一级联列表框 |-head |-optiontransferselect |-select |-rad

coding 572

QT C++ AI棉花智能变量灌溉工上位机(信创完整版)

北斗履带灌溉机器人/田间分区电磁阀基站 → 多层土壤温湿度/盐分EC传感器实时采集墒情 → 双目AI视觉扫描棉田长势、病苗分布 → AI融合**生育期+土壤墒情+盐分+棉株长势**计算变量灌溉定额、水肥配比、灌溉时长 → 分区电磁阀/变频水泵变量供水,病弱苗地块减量、干旱地块增量;墒情、盐分、长势多因子闭环修正灌水量;多层土壤含水率(0–10/20–40/40–80cm)、土壤EC盐分、土壤温度、空气温湿度、蒸发量、北斗地块坐标、管道水压、水肥罐液位、分区流量计、水泵电机负载、滴灌带压力反馈。

寒寒豆豆软件公司的博客 184

【Struts2笔记整理九】Struts2标签库

Struts2 中提供一组非常好用的标签库,大家可以了解一下。 Struts2 的标签库文档的位置在:struts-2.3.24/docs/docs/tag-reference.html。 使用 Struts2 的标签库需要引入:

小异常的博客 784

X电容与Y电容,看这一篇就够了

本文详细介绍了X电容与Y电容的定义、作用、位置、分类,以及它们在实际应用中的容值选取和计算方法。通过汽车电子应用和X电容放电电路的实例,帮助读者深入理解这两种安规电容的重要性。文章还探讨了电容放电电阻的计算,确保符合安全规范。

让你爱上电路设计 7013

基于ESP32的智能厨房控制系统开发

随着智能家居技术的发展,越来越多的家庭开始将传统的厨房设备进行智能化改造,以提高烹饪效率和生活质量。智能厨房控制系统是物联网(IoT)应用的重要组成部分,它将家居设备、传感器和网络结合起来,提供便捷的控制与监测功能,使厨房的烹饪过程更加智能、便捷和安全。基于ESP32的智能厨房控制系统不仅能够实现远程控制和监控,还能实现温度、湿度、烹饪状态的实时反馈,甚至具备智能化的推荐和自动化控制能力。ESP32是一款功能强大、集成度高的嵌入式开发平台,具有Wi-Fi和蓝牙双模通信能力,广泛应用于物联网设备的开发。

2201_76125393的博客 657

Struts2标签库常用标签

Struts2标签库常用标签 基本概述      对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分。Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上。控制器主要由Action来提供支持,而视图则是由大量的标签来提供支持。      在JavaWeb中,Struts2标签库是一个比较完善,而且功能强大的标签库,它将所有标签都统一到一个标签库中,从而简化

Switch的博客 4万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Struts2 标签库

struts2标签库提供了主题,模板支持,极大地简化了视图页面的编写,而且,struts2的主题,模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。     struts2的标签可以分为五大类: 一、逻辑控制标签 (1)条件标签 条件标签主要有3个子标签,用于执行基本的条件流转

1361

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

struts2标签库

struts2标签库介绍: struts2标签库不依赖任何表现层技术,其提供的大部分标签,可以在各种表现层技术中使用,分为两大类:UI标签和非UI标签,UI标签由于生成html元素标签,非UI标签用于数据访问、逻辑控制等。 UI标签分为两类:表单标签(用于生成form元素,普通表单元素的标签)和非表单标签(生成页面树,Tab页等标签),非UI标签也分为两类:流程控制标签(实现分支、循环登录流程控制...

weixin_43638314的博客 651

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: OGNL,简单的struts 2专用表达式,你表达了吗?(10)
下一篇: 我最想要的多文件上传...上传越多越好----Struts 2多文件上传(12)
Struts2BBS
博客等级 码龄19年 19粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值