<s:iterator value="list" id="d">
<tr>
<td>
${d.id }
</td>
<td>
${d.pid }
</td>
<td>
${d.name }
</td>
<td>
<a href="listDocumentCatalog.action?pid=${d.id }">进入</a>
</td>
<td>
<s:if test="%{d.order == 1}">
上移
</s:if>
<s:else>
<a href="adjustDocumentCatalog.action?pid=${d.pid }&order=${d.order}&style=up">上移</a>
</s:else>

<s:if test="%{d.order == maxorder}">
下移
</s:if>
<s:else>
<a href="adjustDocumentCatalog.action?pid=${d.pid }&order=${d.order}&style=down">下移</a>
</s:else>

</td>
<td>
<a href="">修改</a>|
<a href="">删除</a>
</td>
</tr>
</s:iterator>list 和 maxorder  在action中已有set和get方法
我做的是一个上下移动行记录的jsp页面,想在第一行记录去掉“上移”的链接,最后一行记录去掉“下移”的链接。但test为起作用我又做了另外修改,结果页面报500错误<s:iterator value="list" id="d">
<tr>
<td>
${d.id }
</td>
<td>
${d.pid }
</td>
<td>
${d.name }
</td>
<td>
<a href="listDocumentCatalog.action?pid=${d.id }">进入</a>
</td>
<td>
<s:set name="this_order" value=${d.order}></s:set>
<s:if test="%{this_order == 1}">
上移
</s:if>
<s:else>
<a href="adjustDocumentCatalog.action?pid=${d.pid }&order=${d.order}&style=up">上移</a>
</s:else>

<s:if test="%{this_order == maxorder}">
下移
</s:if>
<s:else>
<a href="adjustDocumentCatalog.action?pid=${d.pid }&order=${d.order}&style=down">下移</a>
</s:else>

</td>
<td>
<a href="">修改</a>|
<a href="">删除</a>
</td>
</tr>
</s:iterator>我刚学struts2,对标签库不算了解,请各位指点一下……

解决方案 »

  1.   

    好像test中不能有EL表达式的吧
      

  2.   

    <s:iterator value="#list" var="ls">
    取值:<s:property value="#ls[3]"/><s:if test="#ls[0]==#lls[1]">
    这里做判断 是否相等。仅仅作为参考
      

  3.   

     <s:if test="d.order == 1}">
      

  4.   

    <s:if test="d.order == 1">
      

  5.   


    没用啊,和<s:if test="{d.order == 1}">  一样,没有达到效果
      

  6.   

    没用啊,和<s:if test="${d.order == 1}"> 一样,没有达到效果上面一个写错了
      

  7.   

    你是遍历的一个集合吧,给段代码给你参考下:
    <s:iterator value="authorityList" status="status" >
    <s:set name="objid" value="authorityList[#status.index][0]"></s:set>
    <s:set name="objname" value="authorityList[#status.index][1]"></s:set>
    <s:set name="objtype" value="authorityList[#status.index][2]"></s:set>
    <tr
    id="tr_<s:property value="authorityList[#status.index][2]"/>_<s:property value="authorityList[#status.index][0]"/>">
    <td >
    <nobr>
    <s:property value="authorityList[#status.index][1]" />
    (
    <s:if test="authorityList[#status.index][2]==1">
    <s:text name="info.lbl.dept" />
    </s:if>
    <s:if test="authorityList[#status.index][2]==2">
    <s:text name="info.lbl.user" />
    </s:if>
    )
    <s:hidden name="objid" value="%{#objid}" />
    <s:hidden name="objname" value="%{#objname}" />
    <s:hidden name="objtype" value="%{#objtype}" />
    </nobr>
    </td>
    <td class="td">
    <input type="checkbox" name="add" value="1" 
    <s:if test="authorityList[#status.index][3]==1">checked</s:if>>
    </td>
    <td class="td">
    <input type="checkbox" name="edit" value="1"
    <s:if test="authorityList[#status.index][4]==1">checked</s:if>>
    </td>
    <td class="td">
    <input type="checkbox" name="del" value="1"
    <s:if test="authorityList[#status.index][5]==1">checked</s:if>>
    </td>
    <td class="td">
    <input type="checkbox" name="issue" value="1"
    <s:if test="authorityList[#status.index][6]==1">checked</s:if>>
    </td>
    <td class="td" >
    <input type="checkbox" name="approve" value="1"
    <s:if test="authorityList[#status.index][7]==1">checked</s:if>>
        </td>
    <td>
    <button onclick="deleteObj('tr_<s:property value="authorityList[#status.index][2]"/>_<s:property value="authorityList[#status.index][0]"/>');" ><s:text name='btn.delete' /></button>
    <!-- <input type="button" value="<s:text name="btn.delete"/>" icon="icon-cancel"-->
    <!-- onclick="deleteObj('tr_<s:property value="authorityList[#status.index][2]"/>_<s:property value="authorityList[#status.index][0]"/>');" />-->
    </td>
    </tr>
    </s:iterator>
      

  8.   


    <s:iterator end="list.size-1" id="i" begin="0" step="1">
    <tr>
    <td>
    ${list[i].id }
    </td>
    <td>
    ${list[i].pid }
    </td>
    <td>
    ${list[i].name }
    </td>
    <td>
    <a href="listDocumentCatalog.action?pid=${list[i].id }">进入</a>
    </td>
    <td>
    <s:set name="this_order" value=${d.order}></s:set>
    <s:if test="${i>0}">
    <a
    href="adjustDocumentCatalog.action?pid=${list[i].pid }&order=${list[i].order}&style=up">上移</a>
    </s:if>

    <s:if test="${i!=(list.size-1)}">
    <a
    href="adjustDocumentCatalog.action?pid=${list[i].pid }&order=${list[i].order}&style=down">下移</a>
    </s:if> </td>
    <td>
    <a href="">修改</a>|
    <a href="">删除</a>
    </td>
    </tr>
    </s:iterator>
      

  9.   


    <s:iterator end="list.size-1" id="i" begin="0" step="1">    <tr>
            <td>
                ${list[i].id }        </td>
            <td>
                ${list[i].pid }        </td>
            <td>
                ${list[i].name }        </td>
            <td>
                <a href="listDocumentCatalog.action?pid=${list[i].id }">进入</a>
            </td>
            <td>
                <s:set name="this_order" value="${list[i].order}"></s:set>            
                <s:if test="${i>0}">                <a
                        href="adjustDocumentCatalog.action?pid=${list[i].pid}&order=${list[i].order}&style=up">上移</a>
                </s:if>
                |            
                <s:if test="${i!=(list.size-1)}">                <a
                        href="adjustDocumentCatalog.action?pid=${list[i].pid }&order=${list[i].order}&style=down">下移</a>
                </s:if>        </td>
            <td>
                <a href="">修改</a>|
                <a href="">删除</a>
            </td>
        </tr>
    </s:iterator>
      

  10.   

    <s:iterator end="list.size-1" id="i" begin="0" step="1">    <tr>
            <td>
                ${list[i].id }        </td>
            <td>
                ${list[i].pid }        </td>
            <td>
                ${list[i].name }        </td>
            <td>
                <a href="listDocumentCatalog.action?pid=${list[i].id }">进入</a>
            </td>
            <td>
                <s:set name="this_order" value="${list[i].order}"></s:set>            
                <s:if test="${i>0}">                <a
                        href="adjustDocumentCatalog.action?pid=${list[i].pid}&order=${list[i].order}&style=up">上移</a>
                </s:if>
                |            
                <s:if test="${i!=(list.size-1)}">                <a
                        href="adjustDocumentCatalog.action?pid=${list[i].pid }&order=${list[i].order}&style=down">下移</a>
                </s:if>        </td>
            <td>
                <a href="">修改</a>|
                <a href="">删除</a>
            </td>
        </tr>
    </s:iterator>
      

  11.   

    <s:if test="%{#d.order == 1}">
      

  12.   


    <s:iterator value="list" id="d" status="status">
    <tr>
    <td>
    ${d.id }
    </td>
    <td>
    ${d.pid }
    </td>
    <td>
    ${d.name }
    </td>
    <td>
    <a href="listDocumentCatalog.action?pid=${d.id }">进入</a>
    </td>
    <td>
    <s:if test="%{#status.index == 0}">
    上移
    </s:if>
    <s:else>
    <a href="adjustDocumentCatalog.action?pid=${d.pid }&order=${d.order}&style=up">上移</a>
    </s:else>

    <s:if test="%{#status.index == maxorder-1}">
    下移
    </s:if>
    <s:else>
    <a href="adjustDocumentCatalog.action?pid=${d.pid }&order=${d.order}&style=down">下移</a>
    </s:else>

    </td>
    <td>
    <a href="">修改</a>|
    <a href="">删除</a>
    </td>
    </tr>
    </s:iterator>
    下午看了一下《struts2详解》,看到一个可以解决的方法,用status属性判断当前迭代的索引,结果证明可以