要使用struts2的标签库,需要引入以下这个语句:
<%@ taglib uri="/struts-tags" prefix="s"%>
一.控制标签
1.if/elseif/else标签
<body> <s:set name="age" value="30"></s:set> <s:if test="#age>60">老年</s:if> <s:elseif test="#age>35">中年</s:elseif> <s:elseif test="#age>13">青年</s:elseif> <s:else>少年</s:else> </body>
2.iteractor标签
可以指定以下三个属性
(1)value:这是一个可选的属性,指定被迭代的集合,被迭代的集合通常是使用OGNL表达式指定.如果没有value属性,则使用ValueStack栈顶的集合
(2)id: 可选元素,指定了集合元素的ID
(3)status:可选属性,指定迭代器的IteratorStatus实例
<table border="1" width="300"> <s:iterator value="{'aaa','bbb','ccc'}" id="name" status="st"> <tr> <td> <s:property value="name"></s:property> </td> <td> <s:property value="#st.count"></s:property> </td> </tr> </s:iterator> </table>
<table border="1" width="300"> <s:iterator value="#{'aaa':'AAA','bbb':'BBB','ccc':'CCC'}" id="score" status="st"> <tr> <td> <s:property value="key"></s:property> </td> <td> <s:property value="value"></s:property> </td> </tr> </s:iterator> </table>
3.append标签:能够将多个集合对象拼接起来,组成一个新的集合.通过拼接,可以允许通过一个<s:iterator>标签完成多个集合的迭代
在使用<s:append>标签时,需要指定var属性,也可以使用id
<s:append var="#newlist"> <s:param value="{'AAA','BBB','CCC'}"></s:param> <s:param value="{'DDD','EEE'}"></s:param> </s:append> <table border="1" width="300"> <s:iterator value="#newlist" id="name" status="st"> <tr> <td> <s:property value="name"></s:property> </td> <td> <s:property value="#st.count"></s:property> </td> </tr> </s:iterator> </table>
4.generator标签
根据指定的分隔符将指定的字符串分隔成多个子串,可以使用iterator迭代输出临时生成的多个子串,该标签有以下5个属性
count:可选的属性,该属性指定生成集合中元素的总数
seperator:一个必填的属性,该属性指定用于解析字符串的分隔符
val:必填属性,该属性指定要解析的字符串
convertor:可选属性,将集合中的每个字符串转化为对象
var:可选属性,如果指定了该属性,则将生成的Iterator对象放入Context中
<s:generator val="'A,B,C,D'" separator=','> <s:iterator> <s:property/> </s:iterator> </s:generator>
<s:generator val="'A,B,C,D'" separator=',' var="book"/> <s:iterator value="book" var="name"> <s:property value="name"/> </s:iterator> </body>
4.merge标签:跟append标签相似,只是拼接的次序不一样
假设有三个集合,append拼接次序如下
(1)第一个集合第一个元素,第一个集合第二个元素,第一个集合第三个元素,....先拼接完一个集合再接着拼接下一个集合
(2)merge则是:第一个集合第一个元素,第二个集合第一个元素,第三个集合第一个元素,第一个集合第二个元素....
5.subset标签:取得集合的子集,有以下属性
count:指定子集中元素的个数
start:指定子集从源集合中哪个元素开始取值
source:指定源集合
<s:subset source="{'aaa','bbb','ccc'}" start='1' count='2'> <s:iterator> <s:property/> </s:iterator> </s:subset>
二.数据标签
1.action标签:可以允许在jsp页面中直接调用action,有以下属性
name:必填属性,指定调用哪个Action
namespace:指定命名空间
executeResult:可选属性,如果该属性为true,则该标签会将action的处理结果(视图资源)包含到本页面中
var,ignoreContextParams指定是否将页面的请求参数传入调用的action中,默认值为false
<s:action name="login/login" executeResult="true"></s:action>
2.bean标签.
bean标签的功能是创建一个javaBean实例.在创建JavaBean实例时,可以在体内使用<param.../>标签为该Bean实例传入属性,同时应该为该JavaBean类提供对应的setter方法
<s:bean name="model.Person"> <s:param name="username" value="'manting'"></s:param> <s:param name="age" value="23"></s:param> <s:property value="username"/> <s:property value="age"/> </s:bean>
3.date标签:输出一个格式化的日期
format:日期格式
name:必填属性,指定要格式化的日期值
nice:可选属性,该属性只为true或false,显示指定日期和当前时间的时间差,默认值为false,一般和format不能同时设定
var:指定了该属性,格式化后的字符串将放入StackContex中,并放入requestScope中,不会在页面上输出
<s:date name="#attr.now" format="yyyy年MM月dd日" var="date"/> ${date}
4.form表单标签
1.checkboxlist:可以一次创建多个复选框,功能是一次生成多个HTML标签中的<input type="checkbox">,它根据list属性指定的集合生成多个复选框.
listKey:功能指定集合元素中某个属性为复选框的key
listValue:功能指定集合元素中某个属性作为复选框的value
<s:checkboxlist name="a" list="{'css','htm','java'}" label="请输入选择的科目" lablePosition="top"></s:checkboxlist> <s:checkboxlist name="a" list="#{'css':'css1','htm':'html1','java':'java1'}" label="请输入选择的科目" lablePosition="top" listKey="key" listValue="value"></s:checkboxlist>
该标签还可以与javaBean类相结合,访问javaBean的属性
public class Book { private String name; private String author; public Book(){} public Book(String name,String author){ this.name=name; this.author=author; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } }
public class BookService { public Book[] getBooks(){ return new Book[]{ new Book("css","张三"), new Book("java","李四"), new Book("html","王五") }; } }
<s:bean name="service.BookService" id="bs"></s:bean> <s:form> <s:checkboxlist name="a" list="#bs.books" label="请输入喜欢的科目" lablePosition="top" listKey="name" listValue="author"></s:checkboxlist> </s:form>
2.combobox标签,下拉框标签
<s:combobox label="选择你喜欢的图书:" theme="css_xhtml" labelposition="top" list="{'dsj','dsjk','wqie'}" name="book"></s:combobox>
相关推荐
在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...
Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...
Struts2标签是Java开发中一个非常重要的工具,它极大地简化了MVC框架下的视图层构建,使得开发者能够更加高效地实现动态网页。在Struts2框架中,标签库是一系列预定义的JSP标签,它们提供了丰富的功能,如数据绑定、...
Struts 2 标签的使用注意事项 Struts 2 是一个基于MVC架构的Java Web应用程序框架,它提供了一系列的标签来简化Web开发。然而,在使用Struts 2标签时,需要注意一些重要的事项。 首先,在使用Struts 2标签之前,...
"Struts2标签库详解" Struts2标签库是Struts2框架中的一个重要组件,它提供了一系列的标签,帮助开发者快速构建Web应用程序。在Struts2标签库中,标签可以分为UI标签和非UI标签两大类。UI标签用于生成HTML控件,如...
在Struts2框架中,标签库是其重要组成部分,它提供了丰富的标签来帮助开发者更方便地构建用户界面。下面我们将深入探讨Struts2标签的使用及其API文档。 1. **Struts2标签的分类与功能** - **控制标签**:如`s:if`,...
在Struts2中,标签库是其核心特性之一,它提供了一系列预定义的JSP标签,用于简化视图层的编码,提高代码的可读性和可维护性。下面我们将详细探讨Struts2标签的使用方法以及EL(Expression Language)表达式。 1. *...
2. **Struts2标签**:Struts2提供了一系列自定义标签来简化视图层的开发。例如,我们可以使用`<s:textfield>`标签来创建输入框,`<s:password>`标签用于密码输入,`<s:submit>`标签则用于提交表单。 ```jsp ...
在Struts2框架中,标签库是其核心特性之一,它提供了丰富的UI组件和控制逻辑,使得开发者可以更加便捷地进行页面渲染和交互处理。本文将深入探讨Struts2标签的中文文档,以及如何利用这些文档进行有效开发。 首先,...
Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...
本文将深入探讨Struts2标签和Tiles库的使用,以及它们在实际开发中的应用。 1. **Struts2标签** Struts2提供了丰富的标签库,这些标签使得开发者能够在JSP页面中方便地实现业务逻辑和控制流程。例如: - `s:...
首先,Struts2标签库分为两大类:核心标签库和展示标签库。核心标签库提供了一组基础功能,如表单处理、控制流程、消息显示等,而展示标签库则包含更具体的UI元素,如数据展示、分页等。了解这些标签库的使用,可以...
参考文档是开发者理解和使用Struts2标签的关键资源,它详细阐述了每个标签的功能、属性、用法及示例,有助于快速学习和掌握Struts2的视图层开发。 通过深入学习和实践Struts2的标签API,开发者可以有效地提升Web...
利用Struts 2标签创建ex3.jsp页面,此页面提交给tag.action,在structs.xml中配置这个action的转发视图为result.jsp在result.jsp页面中显示ex3.jsp页面控件的值。(源代码和实验报告)
Struts2标签库是Java Web开发中非常重要的一个部分,它是Apache Struts框架的一部分,用于简化JSP页面的编写,提高代码的可读性和可维护性。本资源包含了一个PDF和Word格式的文档,旨在详细介绍如何使用Struts2的...
Struts2标签详解与实例 在Java Web开发中,Struts2框架因其强大的MVC(模型-视图-控制器)架构而备受青睐。Struts2提供了丰富的标签库,简化了视图层的开发,使开发者可以更加专注于业务逻辑。本文将深入探讨Struts...
struts2 标签 Taglib (Struts2标签库)