Struts2讲义15(转载)

if,else ,elseif

标签使用介绍

技术要点  

本节代码具体介绍

       if else elseif 控制标签的使用方式介绍。

if else elseif 标签使用。

if else elseif 标签功能演示。

演示代码

标签使用 JSP 文件:

Java代码 Struts2讲义15(转载)
  1. <!------------------------- 文件名: ifelseifTag.jsp------------------->   
  2. <body>   
  3.                    <h3 align="left">   
  4.                             ifelseif 标签使用范例   
  5.                    </h3>   
  6.                    <s:set name="frank" value="{' 欧龙无苯油漆 ( 六度 )',' 进户门套油漆 ',' 踢脚线 ',' 奥普浴霸 '}" />   
  7.                    <s:if test="%{#frank[1]==' 踢脚线 '}">   
  8.                             <s:property value="%{#frank[1]}" />   
  9.                    </s:if>   
  10.                    <s:elseif test="%{#frank[1]==' 进户门套油漆 '}">   
  11.                             <s:property value="%{#frank[1]}" />   
  12.                    </s:elseif>   
  13.                    <s:else>   
  14.          不是   
  15.          </s:else>   
  16. </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

Struts2讲义15(转载)


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 文件:

 

Java代码 Struts2讲义15(转载)
  1. <!---------------------------------- 文件名: iteratorTag.jsp----------------------->   
  2. <body>   
  3.                    <h3 align="left">   
  4.                             iterator 标签使用范例   
  5.                    </h3>   
  6.                    <s:set name="frank" value="{' 欧龙无苯油漆 ( 六度 )',' 进户门套油漆 ',' 踢脚线 ',' 奥普浴霸 '}" />   
  7.                    <s:iterator value="#frank">   
  8.                             <p>   
  9.                                      <s:property />   
  10.                             </p>   
  11.                    </s:iterator>   
  12. </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

Struts2讲义15(转载)


5.5  iterator 标签范例图

代码解释

1 iterator 标签的功能是对某个集合中的所有属性进行迭代遍历 。和 Struts 中的 iterator 标签功能完全相同。其中 id 也和之前记述标签相同。而 value 则可以指定需要被迭代遍历的集合,如果不显式指定,则表示是使用在值栈的栈顶的数据集合。还有一个 status 属性,它其实表示的是 Struts2 中的 IteratorStatus 对象的具体某实例。其中有一些 API 都是和集合的顺序索引有关的。有兴趣的读者可以去参看 Struts2 IteratorStatus 的源代码。

2 )如代码所示显示了字符串集合 frank (笔者的英文名 )的所有字符串。

merge

标签使用介绍

技术要点

本节代码具体介绍 merge 控制标签的使用方式介绍。

merge 标签使用。

merge 标签功能演示。

演示代码

标签使用 JSP 文件:

 

Java代码 Struts2讲义15(转载)
  1. <!--------------------------- 文件名: mergeTag.jsp------------------------->   
  2. <body>   
  3.                    <h3 align="left">   
  4.                             merge 标签使用范例   
  5.                    </h3>   
  6.                    <s:set name="frank" value="#{'material':' 欧龙无苯油漆 ( 六度 )', 'mount':'500'}" />   
  7.                    <s:set name="jakcy" value="#{'material':' 进户门套油漆 ', 'mount':'800'}" />   
  8.                    <s:merge id="SP">   
  9.                             <s:param value="frank" />   
  10.                             <s:param value="jakcy" />   
  11.                    </s:merge>   
  12.   
  13.                    <p>   
  14.                             供销商 frank 和 jakcy 手里还有建材   
  15.                             <s:iterator value="#SP">   
  16.                                      <tr>   
  17.                                                <td>   
  18.                                                         <p>   
  19.                                                                  <s:property />   
  20.                                                         </p>   
  21.                                                </td>   
  22.                                      </tr>   
  23.                             </s:iterator>   
  24. </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

Struts2讲义15(转载)

 

5.6  merge 标签范例图

代码解释

1 merge 标签的功能和 append 标签功能相同 。唯一的不同点在于 merge 标签合并的集合中各个元素的排列顺序是不同的。如代码所示,可以把图 5.6 和图 5.2 相比较就可知。其属性和 append 标签完全相同。