我在action中查询数据根据编号单双来输出缩进格式,形式如下
1xxx
  2XXX
3xxx
  4XXXjsp页面接受数据方式见下,怎样才能格式化输出呢,我在action传输时根据单双号先加空格的方式似乎不可取。
<table border="0"> 
<s:iterator value="aaa"> 
<tr> 
<td> <s:property value="bb" /> </td> 
</tr> 
</s:iterator> 
</table> 

解决方案 »

  1.   

    我现在是这样做的,将struts中action的list传到jsp页面中,根据Stage的值来判断NodeName的输出格式,但if语句写不好,谢谢好心人帮我看看!
    <table border="0">
         <tr> 
          <th>Catalog</th>        
         </tr>  
         <s:iterator value="ptrees">  
            <tr>  
             <s:if test="<s:property value="Stage"/>==1">
                <td><s:property value="NodeName"/></td>
                </s:if>
                <s:elseif test="<s:property value="Stage"/>==2">
                <td>&nbsp;&nbsp;<s:property value="NodeName"/></td>
                </s:elseif>
                <s:elseif test="<s:property value="Stage"/>==3">
                <td>&nbsp;&nbsp;&nbsp;&nbsp;<s:property value="NodeName"/></td>
                </s:elseif>
                <s:else test="<s:property value="Stage"/>==4">
                <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<s:property value="NodeName"/></td>
                </s:else>            
            </tr>  
         </s:iterator>  
    </table>
      

  2.   

    <table border="0"> 
    <s:iterator value="aaa" status="test"> 
        <tr> 
            <td>
                <s:if test="#test.odd"> 
                    <s:property value="bb" />
                </s:if>
                <s:else>
                    &nbsp;&nbsp;<s:property value="bb" />
                </s:else>
            </td> 
        </tr> 
    </s:iterator> 
    </table> 
      

  3.   

    对不起,3楼的,我在2楼改了显示的要求,根据列表中的一个值来判段,再补充一下,Stage只做为判断的一个条件,不显示怎么操作。感谢。
      

  4.   

    自己在csdn上找到了答案,好像push等也可以,谁还有别的方法,提供一下。谢谢。
    <s:iterator value="ptrees">  
            <tr>  
            
             <s:set  name="stage" value="%{Stage}"/>
             <s:if test="#stage==1">
                <td><s:property value="NodeName"/></td>
                </s:if>
                <s:elseif test="#stage==2">
                <td>&nbsp;&nbsp;<s:property value="NodeName"/></td>
                </s:elseif>
                <s:elseif test="#stage==3">
                <td>&nbsp;&nbsp;&nbsp;&nbsp;<s:property value="NodeName"/></td>
                </s:elseif>
                <s:elseif test="#stage==4">
                <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<s:property value="NodeName"/></td>
                </s:elseif>
                 
            </tr>  
         </s:iterator>  
      

  5.   


    「根据列表中的一个值来判段」这个字段应该放在List中,没有必要在<s:set  name="stage" value="%{Stage}"/> 看看以下代码:<table border="0"> 
    <s:iterator value="aaa" status="test"> 
        <tr> 
            <td> 
                <s:if test="%{Stage == 1}"> 
                    <s:property value="bb" /> 
                </s:if>
                <s:if test="%{Stage == 2}">  
                    &nbsp;&nbsp<s:property value="bb" /> 
                </s:if> 
                <s:if test="%{Stage == 3}"> 
                    &nbsp;&nbsp&nbsp;&nbsp<s:property value="bb" /> 
                </s:if> 
                <s:if test="%{Stage == 4}">  
                    &nbsp;&nbsp&nbsp;&nbsp&nbsp;&nbsp<s:property value="bb" /> 
                </s:if> 
            </td> 
        </tr> 
    </s:iterator> 
    </table>