struts2官方 中文教程 系列十二:控制标签
介绍
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官方 中文教程 系列十二:控制标签的更多相关文章
- struts2官方 中文教程 系列十:Form标签
介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, f ...
- struts2官方 中文教程 系列十四:主题Theme
介绍 当您使用一个Struts 2标签时,例如 <s:select ..../> 在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...
- struts2官方 中文教程 系列十三:利用通配符选择方法
介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...
- struts2官方 中文教程 系列十一:使用XML进行表单验证
在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...
- struts2官方 中文教程 系列九:Debugging Struts
介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截 ...
- struts2官方 中文教程 系列八:异常处理
在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...
- struts2官方 中文教程 系列七:消息资源文件
介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...
- struts2官方 中文教程 系列三:使用struts2 标签 tag
避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...
- struts2官方 中文教程 系列五:处理表单
先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列五:处理表单 即 http://www.cnblogs.com/linghaoxinpian/p/6906298.html 下载本章 ...
随机推荐
- Linux获取系统当前时间(精确到毫秒)
#include <stdio.h> #include <time.h> #include <sys/time.h> void sysLocalTime() { t ...
- Kubernetes Helm入门指南
什么是Helm?这可不是暗黑破坏神里装备的名称:头盔,而是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理.我们Helm和Kubernetes的关系,我们可以理解成y ...
- selenium+python自动化登录脚本
利用selenium+python写的一个关于登录的自动化脚本
- OC typedef(起别名)
// #define Integer int // 给基本数据类型起别名 void test() { typedef int Integer; typedef Integer MyInteger; t ...
- 深度优先搜索(dfs),城堡问题
题目链接:http://poj.org/problem?id=1164 1.深搜,每个点都访问一次,没有标记的话,就做深搜,同时标记. #include <iostream> #inclu ...
- HTML5之表单新增类型介绍
1.html5的input标签的type类型新增介绍: 2.表单新增属性介绍: 3.代码示例: <!doctype html> <html> <head></ ...
- yarn下资源配置
http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.6.0/bk_installing_manually_book/content/rpm-ch ...
- android ListView 与GridView 学习总结(五)
ListView的使用总结 基本使用: 步骤:在布局文件中定义一个ListView控件-在活动中获得ListView的实例-获得适配器adapter的实例并且传入三个参数-把适配器对象传递给lis ...
- ATK系列库介绍
1.一个完整支持分布式服务框架: 2.代码生成工具,可快速生成基于服务框架的应用: 3.其他支持库 4.完整代码见https://github.com/azthinker 目标:使应用开发,低代码.高 ...
- group by 注意的细节 ,
1. GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前. HAVING语句必须在ORDER BY子句之后.(where先执行,再groupby分组:groupby先分组,ha ...