如何知道Struts2中List是否为空?

时间:2012-05-23 06:44:23

标签: list struts2

我有一个清单。这是从java类获取到jsp页面。我想在jsp页面中显示此List,但是,如果List为空,则显示一条错误消息,否则显示List的项目。

<s:iterator value="productList">
    <tr style="background-color: #99CCFF">      
        <td><s:property value="pid"/></td>
        <td><s:property value="productname"/></td>
        <td><s:property value="producttype"/></td>
        <td><s:property value="productprice"/></td>
        <td><s:property value="shopname"/></td>
        <td><s:property value="productcity"/></td>
        <td><s:property alue="ownername"/></td>                 
    </tr>
</s:iterator>   

4 个答案:

答案 0 :(得分:7)

您可以使用Struts2 <s:if><s:else>标签进行条件检查,如下所示:

<s:if test="%{getProductList().isEmpty()}">
   Error
</s:if>
<s:else>
     <s:iterator value="productList">
        <tr style="background-color: #99CCFF">      
            <td><s:property value="pid"/></td>
            <td><s:property value="productname"/></td>
            <td><s:property value="producttype"/></td>
            <td><s:property value="productprice"/></td>
            <td><s:property value="shopname"/></td>
            <td><s:property value="productcity"/></td>
            <td><s:property alue="ownername"/></td>                 
        </tr>
    </s:iterator> 
</s:else>

答案 1 :(得分:2)

<s:if test="%{productList.isEmpty()}">
    <tr>
        <td colspan="7">Empty</td>
    </tr>
</s:if>
<s:else>
    <s:iterator value="productList">
        <tr style="background-color: #99CCFF">      
            <td><s:property value="pid"/></td>
            <td><s:property value="productname"/></td>
            <td><s:property value="producttype"/></td>
            <td><s:property value="productprice"/></td>
            <td><s:property value="shopname"/></td>
            <td><s:property value="productcity"/></td>
            <td><s:property alue="ownername"/></td>                 
        </tr>
    </s:iterator>
</s:else>

答案 2 :(得分:0)

使用productList.isEmpty()的Apaet您还可以查看productList的大小 像

<s:if test="%{productList.size>0}">
 <table>
         <s:iterator value="productList">
            <tr style="background-color: #99CCFF">      
              <td><s:property value="pid"/></td>
              <td><s:property value="productname"/></td>
              <td><s:property value="producttype"/></td>
              <td><s:property value="productprice"/></td>
              <td><s:property value="shopname"/></td>
              <td><s:property value="productcity"/></td>
              <td><s:property alue="ownername"/></td>                 
          </tr>
      </s:iterator>
 </table>
 </s:if>
<s:else>
   <div> No data found</div>
</s:else>

答案 3 :(得分:0)

您还可以使用这种较短的语法

<s:if test="productList.empty">
    <tr>
        <td colspan="7">Empty</td>
    </tr>
</s:if>
<s:else>
    <s:iterator value="productList">
        <tr style="background-color: #99CCFF">      
            <td><s:property value="pid"/></td>
            <td><s:property value="productname"/></td>
            <td><s:property value="producttype"/></td>
            <td><s:property value="productprice"/></td>
            <td><s:property value="shopname"/></td>
            <td><s:property value="productcity"/></td>
            <td><s:property alue="ownername"/></td>                 
        </tr>
    </s:iterator>
</s:else>