介绍

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. iTunes备份路径,iTunes默认备份路径,iTunes修改备份路径

    1:当前iTunes版本: 2:帮助给出的答复: 3:修改的操作界面: 实际文件夹路径:

  2. HDU 1521 指数型母函数

    方法一: DFS 方法二:生成函数 每个数可以重复一定次数,求排列组合数,这是裸的指数型生成函数: #include <bits/stdc++.h> using namespace std ...

  3. Django学习之ORM操作

    一.一般操作 二.必知必会13条 返回QuerySet对象的方法有 特殊的QuerySet 返回具体对象的 返回布尔值的方法有 返回数字的方法 三.单表查询之神奇的双下划线 四.ForeignKey操 ...

  4. 运行出现Server Tomcat v8.5 Server at localhost failed to start.和A child container failed during start

    出现问题: 解决方法: 1.看servlet文件中的@WebServlet“()”,里面是否少了/字符,如图: 加上即可,有问题随时留言,欢迎您的咨询!

  5. 关闭Debut.Log

    unity5.3支持了运行时关闭产生的debug.log Debug.logger.logEnabled = false; 谢谢你们,让我能在晚上凝视夜空的时候,脑海中浮现出更广阔的世界.

  6. Zabbix: Database Monitor Installation

    1.     Install ODBC MS SQL Connector On Zabbix Server    https://support.zabbix.com/browse/ZBX-6839 ...

  7. 使用redux代码文件的组织方式

    从架构触发,开始一个新应用的时候,代码文件的组织方式一定要考虑好 如果之前使用过mvc的框架那么对按角色组织方式一定不陌生 角色组织方式 reducer/ todoReducer.js filterR ...

  8. vue2.0移除或更改的一些东西

    一.vue2.0移除了$index和$key 虽然说现在很多文章说他们的代码是vue2.0版本的,但是有一些仔细一看,发现并不全是2.0版本,有些语法还是1.0的版本,比如这个$index,$key, ...

  9. 话说"登录页面"怎么测试

    今天无聊突然想起web登录页面怎么测试,看似简单的问题杀机重重,怎么说呢,一般没有测试思维的人说简单啦,主要有以下几点 .1.账号密码框输入正确的a-z,A-Z,0-9字符,特殊的字符组合测试.2.账 ...

  10. Java实现批量修改文件名,重命名

    平时下载的文件.视频很多都会有网址前缀,比如一些编程的教学视频,被人共享出来后,所有视频都加上一串长长的网址,看到就烦,所以一般会重命名后看,舒服很多,好了,不多说,直接上代码: 以下代码演示使用递归 ...