Struts 2的表单标志在输出(render)HTML时,使用了模板的概念,增加了复杂性(因为它不像Struts 1.x的表单标志,它通常都是一个标志对应HTML的一个元素),因此大家在使用时,需要一些技巧:
- Struts 2的UI标志的表单标志默认是以表格布局,按钮是右对齐的。如果你不喜欢此风格,你可以简单地将<s:form />标志的“theme”属性设为“simple”,然后用以往的做法自已布局表单元素(注意:此法有利有弊,弊就是当你将“theme”属性设为“simple”时,表单标志以最简单方式输出HTML,所以你可能失去一些默认输出提供的便利,如:友好的错误信息的显示,或客户端的表单验证等)。当然更好的做法是通过CSS或自定义主题(theme)然后应用到整个应用程序,这样可以获得一致的页面风格,加强用户体验(我会在以后的文章对此进行讲解);
- 当你在页面上加入某些标志(如:<s:doubleselect />等)时,应该通过action来访问页面,而不是通过*.jsp的URL直接访问。
下面我将分别对这些标志进行讲述:
1、<s:checkboxlist/>
<s:checkboxlist list="books" id="mybook" name="chebook" listKey="bid" listValue="bname" label="请选择图书"/>
大家对<s:checkboxlist />的最大的疑问可能是:“如何在默认情况下,选中某些checkbox?”
答案其实很简单,只需要将其“value”属性设为你的要选中的值。
2、<s:doubleselect />
定义一个Map类型的对象,键为“list”的集合,值则为“doubleList”的集合,然后“doubleList”的OGNL写成“#myMap[top]。
3、<s:token/>
这个标志可能大家不常用,不过本人认为它还是挺有用的。在使用Struts 1.x时,因为跳转通常是用Forward(而不是Redirect)实现的,所以当用户完成请求后,按“F5”刷新页面时,就会重新提交上次的请求,这样经常会出错。要解决这个问题,<s:token />可以帮你忙。
4、<s:select/>
<s:select list="books" listKey="bid" listValue="bname" label="下拉选择" name="aa"/>
5、<s:radio/>
<s:radio label="单选按钮" list="books" listKey="bid" listValue="bname" name="gga"/>
6、<s:updownselect/>
<s:updownselect list="books" listKey="bid" listValue="bname" label="可移动列表"
selectAllLabel="全部选择" moveDownLabel="向下移动" moveUpLabel="向上移动"
name="ffg"/>
7、<s:combobox/>
<s:combobox list="books" label="请选择图书" listValue="bname" listKey="bid" name="combook" labelposition="top"
8、<s:datetimepicker/>
<s:datetimepicker name="chooseDate" label="日期选择"/>
分享到:
相关推荐
Struts2 UI标签是Struts2框架中的一部分,主要用于简化Web应用中的视图层开发,提升开发效率。这些标签提供了一种声明式的方式来构建动态HTML页面,使得开发者无需直接编写繁琐的JSP代码,而是通过XML或者Java配置来...
本篇文章将深入探讨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 元素标签,例如生成文本框、下拉框...
- **注册页面创建**:通过实例展示如何使用Struts 2的UI标签来创建一个注册页面。 - **表单字段预填充与默认值设置**:教授如何预填充表单字段并设置其默认值。 - **表单数据检索**:讲解如何在JSP页面中检索已填写...
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**:创建一组可折叠的标题和内容区域,展示...