if,else ,elseif
标签使用介绍
技术要点
本节代码具体介绍
if 、 else 、 elseif 控制标签的使用方式介绍。
if 、 else 、 elseif 标签使用。
if 、 else 、 elseif 标签功能演示。
演示代码
标签使用 JSP 文件:
- <!------------------------- 文件名: ifelseifTag.jsp------------------->
- <body>
- <h3 align= "left" >
- ifelseif 标签使用范例
- </h3>
- <s:set name= "frank" value= "{' 欧龙无苯油漆 ( 六度 )',' 进户门套油漆 ',' 踢脚线 ',' 奥普浴霸 '}" />
- <s: if test= "%{#frank[1]==' 踢脚线 '}" >
- <s:property value= "%{#frank[1]}" />
- </s: if >
- <s:elseif test= "%{#frank[1]==' 进户门套油漆 '}" >
- <s:property value= "%{#frank[1]}" />
- </s:elseif>
- <s: else >
- 不是
- </s: else >
- </body>
<!------------------------- 文件名: ifelseifTag.jsp-------------------> <body> <h3 align="left"> ifelseif 标签使用范例 </h3> <s:set name="frank" value="{' 欧龙无苯油漆 ( 六度 )',' 进户门套油漆 ',' 踢脚线 ',' 奥普浴霸 '}" /> <s:if test="%{#frank[1]==' 踢脚线 '}"> <s:property value="%{#frank[1]}" /> </s:if> <s:elseif test="%{#frank[1]==' 进户门套油漆 '}"> <s:property value="%{#frank[1]}" /> </s:elseif> <s:else> 不是 </s:else> </body>
功能演示如图 5.4 。
图 5.4 if 、 else 、 elseif 标签范例图
代码解释
( 1 ) if 标签的功能判断条件是否符合 if 中定义的条件 。和 Java 中 if 的功能相同。
( 2 ) else 标签的功能判断条件是否符合 else 中定义的条件 。和 Java 中 else 的功能相同。
( 3 ) elseif 标签的功能判断条件是否符合 elseif 中定义的条件 。和 Java 中 else if 的功能相同。
( 4 )上述三个标签中 test 都是判断的条件定义。返回的是一个 boolean 值,如果判断条件为真即返回 true 值,则标签中定义的内容才会在页面上显示。如代码所示,网页中显示的是 elseif 标签中的内容。因为只有该标签的 test 返回的是 true ,而且一旦返回 true 值,后面的标签内容也不执行。和 Java 中 if 、 else 的功能是完全相同的。
iterator
标签使用介绍
技术要点
本节代码具体介绍 iterator 控制标签的使用方式介绍。
iterator 标签使用。
iterator 标签功能演示。
演示代码
标签使用 JSP 文件:
- <!---------------------------------- 文件名: iteratorTag.jsp----------------------->
- <body>
- <h3 align= "left" >
- iterator 标签使用范例
- </h3>
- <s:set name= "frank" value= "{' 欧龙无苯油漆 ( 六度 )',' 进户门套油漆 ',' 踢脚线 ',' 奥普浴霸 '}" />
- <s:iterator value= "#frank" >
- <p>
- <s:property />
- </p>
- </s:iterator>
- </body>
<!---------------------------------- 文件名: iteratorTag.jsp-----------------------> <body> <h3 align="left"> iterator 标签使用范例 </h3> <s:set name="frank" value="{' 欧龙无苯油漆 ( 六度 )',' 进户门套油漆 ',' 踢脚线 ',' 奥普浴霸 '}" /> <s:iterator value="#frank"> <p> <s:property /> </p> </s:iterator> </body>
功能演示如图 5.5 。
图 5.5 iterator 标签范例图
代码解释
( 1 ) iterator 标签的功能是对某个集合中的所有属性进行迭代遍历 。和 Struts 中的 iterator 标签功能完全相同。其中 id 也和之前记述标签相同。而 value 则可以指定需要被迭代遍历的集合,如果不显式指定,则表示是使用在值栈的栈顶的数据集合。还有一个 status 属性,它其实表示的是 Struts2 中的 IteratorStatus 对象的具体某实例。其中有一些 API 都是和集合的顺序索引有关的。有兴趣的读者可以去参看 Struts2 中 IteratorStatus 的源代码。
( 2 )如代码所示显示了字符串集合 frank (笔者的英文名 )的所有字符串。
merge
标签使用介绍
技术要点
本节代码具体介绍 merge 控制标签的使用方式介绍。
merge 标签使用。
merge 标签功能演示。
演示代码
标签使用 JSP 文件:
- <!--------------------------- 文件名: mergeTag.jsp------------------------->
- <body>
- <h3 align= "left" >
- merge 标签使用范例
- </h3>
- <s:set name= "frank" value= "#{'material':' 欧龙无苯油漆 ( 六度 )', 'mount':'500'}" />
- <s:set name= "jakcy" value= "#{'material':' 进户门套油漆 ', 'mount':'800'}" />
- <s:merge id= "SP" >
- <s:param value= "frank" />
- <s:param value= "jakcy" />
- </s:merge>
- <p>
- 供销商 frank 和 jakcy 手里还有建材
- <s:iterator value= "#SP" >
- <tr>
- <td>
- <p>
- <s:property />
- </p>
- </td>
- </tr>
- </s:iterator>
- </body>
<!--------------------------- 文件名: mergeTag.jsp-------------------------> <body> <h3 align="left"> merge 标签使用范例 </h3> <s:set name="frank" value="#{'material':' 欧龙无苯油漆 ( 六度 )', 'mount':'500'}" /> <s:set name="jakcy" value="#{'material':' 进户门套油漆 ', 'mount':'800'}" /> <s:merge id="SP"> <s:param value="frank" /> <s:param value="jakcy" /> </s:merge> <p> 供销商 frank 和 jakcy 手里还有建材 <s:iterator value="#SP"> <tr> <td> <p> <s:property /> </p> </td> </tr> </s:iterator> </body>
功能演示如图 5.6 。
图 5.6 merge 标签范例图
代码解释
( 1 ) merge 标签的功能和 append 标签功能相同 。唯一的不同点在于 merge 标签合并的集合中各个元素的排列顺序是不同的。如代码所示,可以把图 5.6 和图 5.2 相比较就可知。其属性和 append 标签完全相同。