有实体类如下(ActionMapDto): private String actionGroup = null ;
 public void setActionGroup(String aValue) {
        actionGroup = aValue;
 }
 public String getActionGroup() {
        return actionGroup;
 }
在Servlet中进行操作:XXXService service=new XXXXService();
List list=service.getActionMapByUsrID();//返回集合为ActionMapDto
req.getSession().setAttribute("actionmap", list);
返回数据为:
actionGroup
AABB
AABB
CCDD
HHII
HHII
HHII
EEFF
LLOO
LLOO
LLOO
页面操作:<table cellpadding="0" cellspacing="5" border="0">
<tr>
<td class="meanone"><a href="home.html" target="_parent">Home</a></td>
<c:if test="${sessionScope.actionmap != null}">
<c:forEach items="${sessionScope.actionmap}" var="list" varStatus="step"><td class="meanone"><a href="mirarg/mirarg3month.jsp" target="_parent">AABB</a></td>
<td class="meanone" style="color:#979695">CCDD</td>
<td class="meanone"><a href="toshop/bodong?id=1" target="_parent">EEFF</a></td>
<td class="meanone"><a href="tocu/tocuri3.jsp" target="_parent">HHII</a></td></c:forEach>
</c:if>
</tr>
</table>
现在在html里面怎么判断如果session中的数据,actionGroup中有AABB就显示AABB这菜单
比如:<c:if test="${list.actionGroup eq 'AABB'}">
<td class="meanone"><a href="mirarg/mirarg3month.jsp" target="_parent">AABB</a></td>
</c:if>因为集合中有重复数据,如果在循环里面用以上的方法的话,会出现多个AABB的菜单,我只想每个菜单显示1次
请教大家要怎么写啊?

解决方案 »

  1.   

    1.修改sql语句,使actionmap唯一
    2.list去除重复
    3.和el表达式没啥关系……
      

  2.   


    不能改SQL,可以早改了就是不能动程序,只能改页面的意思
      

  3.   

    那就在页面写java代码咯,list去重什么公司啊,维护项目不让改代码……
      

  4.   


    弱弱的问下,List去重用EL表达式怎么弄?
      

  5.   

    因为集合中有重复数据,如果在循环里面用以上的方法的话,会出现多个AABB的菜单,我只想每个菜单显示1次
    请教大家要怎么写啊?
          累不累你
      

  6.   

    好像没有现成的C标签可以处理这个问题。
    直接在jsp里写java代码不行么<%
    --java代码,dosomething
    %>
      

  7.   


    恩,不能用<%%>。郁闷8楼:<c:set>是保存某些数据到session或者其他好像不能解决我的问题。。
      

  8.   

    JQuery 可以解决的
    如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <script language="javascript" src="jquery-1.4.2.min.js"></script>
      <script>
     $(document).ready(function(){
    var html = "<tr>";
    $(".xxxx").find("td").each(function(n){
    if(html.indexOf($(this).html()) == -1) {
    html += '<td class="meanone">' + $(this).html() + '</td>';
    }
    });
    html += "</tr>";
    alert(html);
    $(".xxxx").html(html);
     });
      </script> </HEAD> <BODY>
     <table cellpadding="0" cellspacing="5" border="0" class="xxxx">
    <tr>
    <td class="meanone"><a href="home.html" target="_parent">Home</a></td>
    <td class="meanone"><a href="mirarg/mirarg3month.jsp" target="_parent">AABB</a></td>
    <td class="meanone"><a href="mirarg/mirarg3month.jsp" target="_parent">AABB</a></td>
    <td class="meanone" style="color:#979695">CCDD</td>
    <td class="meanone"><a href="toshop/bodong?id=1" target="_parent">EEFF</a></td>
    <td class="meanone"><a href="tocu/tocuri3.jsp" target="_parent">HHII</a></td>
    </tr>
    </table>
    </BODY>
    </HTML>
      

  9.   

    不好意思 稍微改下: if(html.indexOf($(this).text()) == -1) {
      

  10.   


    可以的。我怎么没想到JQuery,谢谢。我去看下