在本章我们将讨论这种不同的控制标签(控制标签是用于流控制的,例如if,else and iterate.)
"If"标签可以单独使用或者伴随"Else If"标签或者伴随着单个/多个的"Else"标签.
创建一个JSP页面IfControlTag.jsp.
设定属性"technologyName"的值为"Java" :
<s:set name="technologyName" value="%{'Java'}"/>
同一时间在if,else if和else标签中只有一个标签能得到执行,执行基于处理中的条件,条件必须是Boolean类型的.这将在下面的Jsp页面中得到阐释.
[注意: 如果在<s:if>中的条件的执行结果是"true",那么只有该标签会得到执行,其它标签将不会执行.这将会在的例子中得到演示. 如果在<s:if>中条件的执行结果是"false"且<s:else if>中的条件结果是"true",那么<s:else if>中的程序体将得到执行. 如果<s:if>和<s:else if>中的条件结果都是"false",那么只有<s:else>标签会执行.]
IfControlTag.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Struts 2 Control Tag Example</title> </head> <body> <s:set name="technologyName" value="%{'Java'}"/> <s:if test="%{#technologyName=='Java'}"> <div><s:property value="%{#technologyName}" /></div> </s:if> <s:elseif test="%{#technologyName=='Jav'}"> <div><s:property value="%{#technologyName}" /></div> </s:elseif> <s:else> <div>Technology Value is not Java </div> </s:else> </body> </html>
struts.xml : 添加下面的xml程序段到struts.xml文件中.
<action name="doIf" >
<result>/pages/genericTags/IfControlTag.jsp</result>
</action>
index.jsp : 添加下面的jsp程序段到index.jsp文件中
<ul>
<li><a href="roseindia/doIf.action">IF Control Tag Example</a></li>
</ul>
在IfControlTag.jsp中只有<s:if>标签的执行结果是"true"<s:if test="%{#technologyName=='Java'}">
<div><s:property value="%{#technologyName}" /></div>
</s:if>
所以我们得到的输出结果等于"Java"
Java |
6 楼 sjeveryday 2011-05-17 14:24
5 楼 hejinxiqq 2011-04-12 16:10
4 楼 东吴周郎 2010-10-25 16:57
三个符号是什么意思哈?
3 楼 yangpanwww 2009-12-04 11:20
---------------感谢楼主-------------------
---------------期待中!-------------------
2 楼 yangpanwww 2009-12-04 11:18
怎么没了?
1 楼 COOPER2009 2009-09-02 19:55
不好意思