介绍

struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签。更多的控制标签可以参见 tags reference.

到此我们新建一个struts2 web 项目:struts_basic2

本帖地址:struts2官方 中文教程 系列十二:控制标签 即 http://www.cnblogs.com/linghaoxinpian/p/6941683.html

下载本章节代码

struts2 if标签

我们在thankyou.jsp中添加如下代码:

<s:if test="personBean.over21">
<p>你的年龄足够了,可以进行投票选举</p>
</s:if>
<s:else>
<p>你未达到法定选举年龄.</p>
</s:else>

if标签有一个 test 属性,其表达式的值必须是boolean,这里将调用Person类的getOver21() 方法。当然test属性值不必要一定是要调用一个方法然后返回一个boolean值,也可以是一个表达式,如:

<s:if test="personBean.age>21">
<p>你的年龄足够了,可以进行投票选举</p>
</s:if>
<s:else>
<p>你未达到法定选举年龄.</p>
</s:else>

struts2 iterator 标签

Struts迭代器标签用于生成一个循环,该循环遍历集合中的每个项目。

<table style="margin-left:15px">
<s:iterator value="personBean.carModel">
<tr><td><s:property /></td></tr>
</s:iterator>
</table>

该代码的目标是创建一个带有一行的HTML表格,该表格显示用户在编辑页面上选择的汽车模型。<s:property />将为该集合的元素显示单个字符串。

如果集合包含有多个对象字段,那么您应该使用s:property属性的value属性来确定要显示的字段。例如:

<table style="margin-left:15px">
<s:iterator value="states" >
<tr><td><s:property value="stateAbbr" /></td> <td><s:property value="stateName" /></tr>
</s:iterator>
</table>

迭代器标签的value=“states”,这导致Struts 2框架调用Action类(editaction.java)的getStates 方法。getState方法返回一个State对象集合。State类有两个字段:stateAbbr和stateName,它们都有对应的get方法。迭代器将对存储在集合中的每个State对象进行循环。每次通过循环,Struts 2框架将对当前状态对象有一个引用,并为当前状态对象调用getStateAbbr和getStateName方法。

附加的迭代器属性

Struts 2迭代器标签有额外的属性,您可以使用它来控制开始和结束的值,以指定迭代器标签只应该循环遍历集合的一部分。有关更多信息,请参阅迭代器标记引用: iterator tag reference

struts2官方 中文教程 系列十二:控制标签的更多相关文章

  1. struts2官方 中文教程 系列十:Form标签

    介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, f ...

  2. struts2官方 中文教程 系列十四:主题Theme

    介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...

  3. struts2官方 中文教程 系列十三:利用通配符选择方法

    介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...

  4. struts2官方 中文教程 系列十一:使用XML进行表单验证

    在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...

  5. struts2官方 中文教程 系列九:Debugging Struts

    介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截 ...

  6. struts2官方 中文教程 系列八:异常处理

    在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...

  7. struts2官方 中文教程 系列七:消息资源文件

    介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...

  8. struts2官方 中文教程 系列三:使用struts2 标签 tag

    避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...

  9. struts2官方 中文教程 系列五:处理表单

    先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列五:处理表单  即 http://www.cnblogs.com/linghaoxinpian/p/6906298.html 下载本章 ...

随机推荐

  1. windows10 、eclipse kepler配置maven环境

    maven环境的配置需要先配置Java环境. 一.在wIn10 中配置maven环境,需要先下载maven压缩包,官网http://maven.apache.org/download.cgi,我选择下 ...

  2. vue.js--基础 事件结合双向数据绑定实现todolist 待办事项 已经完成 和进行中,键盘事件

    <template> <div id="app"> <h1>{{ msg }}</h1> <input type=" ...

  3. Android(java)学习笔记7:多线程程序练习

    需求: 某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票. 两种方式实现 A:继承Thread类 B:实现Runnable接 1. 首先我们利用方式 ...

  4. POSIX 线程详解(经典必看)

    http://www.cnblogs.com/sunminmin/p/4479952.html 总共三部分: 第一部分:POSIX 线程详解                               ...

  5. Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired,

    Did not receive a reply. Possible causes include: the remote application did not send a reply, the m ...

  6. 塔防cocos2d

    塔防游戏,类似于保卫萝卜的一种. 需要注意的是几点问题是: 游戏地图是瓦片地图,设置特定的标记,用来标记哪些点是地图点,哪些是塔点. 游戏关卡选择:需要在两个cpp文件传参,用的是静态成员变量. 每一 ...

  7. Android——HelloWorld

    今天正式加入实验室做安卓,看上去无从下手,让我想到当年学ACM一样,但是也一直搞过来了,现在又是一个新的起点. 废话不多说~~~ Hello World 安装: JDK SDK Eclipse 参考: ...

  8. ACM-ICPC(11/9)

    今天看了一下黑书,感觉很刘汝佳,是他的风格,题目挺好的~~~ 枚举 P12翻硬币 二进制枚举每一列的情况2^9种. 在每一种情况下然后对于每一行就是翻与不翻的两种情况~~~ 贪心 P13钓鱼问题 PO ...

  9. [19/03/21-星期四] 异常(Exception) (一)

    一.引言 在实际工作中,我们遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件, 这个文件可能不存在或者文件格式不对 ,你要读取数据库的数据,数据可 ...

  10. js正则判断日期

    //****************************************************************************// Function ID : Commo ...