介绍

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. 将springboot打包成的jar文件做成windows服务

    1.在idea中用maven将程序打成jar,放到运行的目录中. 2.去github上面下载winsw: https://github.com/kohsuke/winsw/releases 3. 将W ...

  2. [转]Ubuntu桌面入门指南

    Ubuntu桌面入门指南 http://wiki.ubuntu.org.cn/Ubuntu%E6%A1%8C%E9%9D%A2%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97

  3. oc 无中生有添加协议(使已有函数符合协议)

    class_addProtocol([UIButton class],@protocol(UIButtonExport)); @protocol UIButtonExport <JSExport ...

  4. 【[SCOI2007]修车】

    题目 只能做网络流度日了 当然是要对每个修车的人拆点,把每个人拆成\(n\)个点用于接收不同时刻的车 每个车\(i\)向每个时刻\(k\)的人\(j\)连边,边权为\(t[i][j]*k\)这样就是这 ...

  5. hihocoder 后缀自动机四·重复旋律7

    题目 在\(DAG\)上跑一个\(dp\)就好了 设\(ans_i\)表示到了\(SAM\)的\(i\)位置上所有的子串形成的数的和,之后我们顺便记录一个方案数\(d_i\) 之后我们直接转移就好了 ...

  6. html基本代码书写

    html的书写: datagrid---->toolbar---->按钮---->handler:function() var rows=$("gridId"). ...

  7. NTU Long-Term Positioning Dataset

    NTU Long-Term Positioning Dataset 地址:http://www.clarenceliang.com/dataset/ 場景:NTU 博理館外廣場 描述:超過一個月連續拍 ...

  8. js 原生获取Class元素

    function getElementsByClassName(n) { var classElements = [] allElements = document.getElementsByTagN ...

  9. mysql 复制A表 到B表;insert into select * from table

    情况一: INSERT INTO tb1 (a,b,c) select a1,b1,c1, from tb2 where .... --  案例 百度云 INSERT INTO l_biz_car_o ...

  10. 获取APP地图权限

    获取APP地图权限 NSLocationWhenUseUsageDescription,在info里面设置为空