Struts2的UI标签
1) 用途:
--生成框体(文本框、选择框)
--自动回显数据(文本框显示值,选择框做默认勾选)
--常用于修改功能中默认数据的显示
2) 涉及的标签
a,表单标签 b,文本框标签 c,密码框标签 d,单个值的复选框标签 e,提交按钮标签
f,单选框标签 g,复选框标签 h,下拉选择标签
案例如下:
ToUpdateAction.java
public class ToUpdateAction { //input,由于是模拟的代码,不给输入了 //output private Customer customer; private List<City> cities; public ToUpdateCustomerAction() { System.out.println("实例化Action..."); } public String execute() { System.out.println("Action业务方法..."); CustomerDAO dao = new CustomerDAO(); customer = dao.findById(); cities = dao.findAllCities(); return "success"; } // get/set方法省略
Customer.java
public class Customer { private String name; // 姓名 private String password; // 密码 private String desc; // 简介 private String sex; // 性别 private boolean marry; // 是否已婚 private List<String> travelCities; // 去过的城市 private String home; // 家乡 private String loveCity; // 最喜欢的城市 // ..... }
City.java
public class City { private String code; private String name; //.... }
update.jsp
<%@page pageEncoding="utf-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <html> <head></head> <body> <h1>演示Struts2的UI标签示例</h1> <!-- 1.生成表单标签 --> <s:form action="#" method="post"> <!-- 2.文本框标签: a.生成文本框 b.通过name中的OGNL表达式访问来源Action, 并根据返回结果给该文本框赋值 --> <s:textfield name="customer.name" label="姓名"/> <!-- 3.密码框标签 可以理解为特殊的文本框,用法同2 --> <s:password name="customer.password" label="密码" showPassword="true"/> <!-- 4. 单个值的复选框标签 a.生成一个checkbox b.根据name中的OGNL表达式,向来源 Action取值,并根据取值的结果设置 是否勾选此checkbox c.OGNL表达式访问的属性,应该是布尔类型 --> <s:checkbox name="customer.marry" label="是否已婚" labelposition="left"/> <!-- 6.单选框标签 a.通过list生成一组radio及对应的label, list可以指定一个Map,那么Map的key 用于生成radio的value属性值,Map的 value用于生成label显示值 b.通过name的OGNL表达式,访问来源Action, 将返回的值与radio的key匹配,哪个 radio的key与返回值一致,则该radio 会设置为选中的。 --> <s:radio name="customer.sex" list="#{'M':'男','F':'女'}" label="性别"/> <!-- 7.复选框标签 a.用法等同于6 b.由于可以多选,那么name中OGNL表达式 访问的属性应该是集合 --> <s:checkboxlist name="customer.travelCities" list="#{'beijing':'北京','shanghai':'上海','guangzhou':'广州','dongguan':'东莞','shenzhen':'深圳','diaoyudao':'钓鱼岛'}" label="去过的城市"/> <!-- 7.1复选框标签-动态初始化范围 a.通过list的OGNL表达式,访问Action中的 集合属性,返回的集合用于生成多个选项。 listKey要指定集合对象中用于生成value 值的属性名。 listValue要指定集合对象中用于生成label 显示值的属性名。 b.通过name来默认勾选,用法同7 --> <s:checkboxlist name="customer.travelCities" list="cities" listKey="code" listValue="name" label="去过的城市2"/> <!-- 8.下拉选标签 a.通过list生成选项option,其中Map的key 用于生成option的value,Map的value 用于生成option的显示值 b.通过name中的OGNL表达式,访问来源 Action,并将取到的是结果与option匹配, 哪个option的value值与返回值一致,则将 此option选中 --> <s:select name="customer.home" list="#{'beijing':'北京','shanghai':'上海','guangzhou':'广州','dongguan':'东莞','shenzhen':'深圳','diaoyudao':'钓鱼岛'}" label="家乡" headerKey="-1" headerValue="请选择"/> <!-- 8.1下拉选标签-动态初始化选项 同7.1 --> <s:select name="customer.home" list="cities" listKey="code" listValue="name" label="家乡2" headerKey="-1" headerValue="请选择"/> <!-- 5.提交按钮标签 --> <s:submit value="保存"/> </s:form> </body> </html>
结果如下:
相关推荐
本篇文章将深入探讨Struts2 UI标签中的几个关键组件:tabbedPanel、autocompleter、tree和treenode以及optiontransferselect,这些标签在实际项目中有着广泛的应用。 首先,`tabbedPanel`标签是用于创建多选项卡的...
form,这个属性 引用表单元素所在的表单,通过该form属性,可以实现表单元素和表单之间的交互。例如,我们可以通过${parameters.form.id}来取得 表单元素所在表单的ID。
Struts2中的UI标签为开发者提供了强大的工具来构建用户界面,不仅涵盖了常见的表单控件,还支持复杂的条件判断和循环迭代逻辑。通过本文的介绍,读者应该能够理解并掌握Struts2 UI标签的基本用法及其应用场景。在...
除了表单UI标签之外,Struts2还提供了一些非表单UI标签,这些标签主要用于页面布局和控制流。 ##### 示例代码 ```jsp != null}"> ``` `s:if`标签用于根据条件显示或隐藏某些内容。上面的例子中,如果`#session....
UI标签库是Struts 2.0中的一个重要组成部分,它包含了多种用于渲染页面元素的标签,如表单、文本框、按钮、选择列表等。这些标签通过与Action类交互,能够动态地展示和处理用户输入的数据,实现前后端数据的绑定。 ...
本篇主要介绍Struts2中的标签库,特别是通用标签和UI标签。 首先,Struts2的标签库支持三种不同的表示技术:JSP、FreeMarker和Velocity。虽然部分标签在这三种技术下都可使用,但有些标签仅适用于其中一种。标签库...
Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...
2. 编写标签处理类(Tag Class):这个类负责处理标签的逻辑,它继承自`org.apache.struts2.views.jsp.ui.TagSupport`或其子类,并重写相关方法。 3. 编写标签支持类(Tag Extra Info Class, TEI):非必需,但可以...
在Struts2标签库中,标签可以分为UI标签和非UI标签两大类。UI标签用于生成HTML控件,如文本框、列表框、复选框等,而非UI标签用于实现逻辑控制、数据处理等功能。 文本框标签: 文本框标签是Struts2标签库中最常用...
Struts2 标签库可以分为三大类:UI 标签、非 UI 标签和 Ajax 标签。 UI 标签 UI 标签主要用于生成 HTML 元素标签,UI 标签又可分为表单标签和非表单标签。UI 标签用于生成 HTML 元素标签,例如生成文本框、下拉框...
2. **编写标签处理类(Tag Handler Class)**:这个类继承自Struts2提供的`org.apache.struts2.views.jsp.ui.TagSupport`或`org.apache.struts2.views.jsp.ComponentTagSupport`基类,实现标签的具体逻辑。...
而Struts2则没有明确的分类,所有的标签都位于统一的URI命名空间"/struts-tags"下,但可以根据功能大致分为非UI标签和UI标签。Struts2的一个显著特点是支持多种表达语言,包括OGNL(Object-Graph Navigation ...
5. **UI标签**:这些标签用于创建用户界面元素,如按钮、链接等。例如: - `<s:submit>`:创建提交按钮,触发Action方法。 - `<s:url>`:生成URL,支持动态参数。 在使用Struts2标签时,还需要注意以下几点: - ...
Struts2标签分类\n\nStruts2的标签分为两类:UI标签和非UI标签。\n\n- **UI标签**:用于生成HTML元素,分为表单标签和非表单标签。表单标签如`s:textfield`、`s:checkbox`等,用于创建表单元素;非表单标签如`s:...
非用户界面标签(非UI标签):主要用于数据访问,逻辑控制。 数据访问标签:主要包含用于输出值栈(ValueStack)中的值,完成国际化等功能的标签。 流程控制标签:主要包含用于实现分支,循环等流程控制的标签。 AJAX...
在Struts2中,自定义标签的实现是提升可重用性和简化视图层代码的一个重要特性。下面我们将深入探讨如何在Struts2中实现自定义标签,以及其背后的原理。 自定义标签的创建主要涉及以下三个步骤: 1. **创建taglib...
- **Struts2标签与jQuery**:虽然jQuery主要处理DOM操作,但也可以配合Struts2标签一起工作,例如动态生成表单元素并触发jQuery事件。 5. **实例实践**: - **Accordion**:创建一组可折叠的标题和内容区域,展示...