如何在javascript函数中迭代arraylist值?

时间:2013-02-18 10:34:29

标签: javascript jsp arraylist jstl jsp-tags

我有两个名为asclist,arclist的arraylists,它包含升序记录和降序记录。在JSP中,我可以迭代这两个arraylist值。它运行正常。我的代码如下:

List <UserInfo> asclist=new ArrayList<UserInfo>();
asclist=(ArrayList)request.getAttribute("ascend");
if(!asclist.isEmpty())
{
    for(UserInfo info: asclist)
    {
        out.print("<td>"+info.getId()+"</td>");
        out.print("<td>"+info.getName()+"</td>");
        out.print("<td>"+info.getAge()+"</td>");
        out.print("<td>"+info.getSalary()+"</td>");
        out.print("<br>");
    }
   }
    List <UserInfo> desclist=new ArrayList<UserInfo>();
desclist=(ArrayList)request.getAttribute("descend");
if(!desclist.isEmpty())
{
    for(UserInfo info: desclist)
    {
        out.print("<td>"+info.getId()+"</td>");
        out.print("<td>"+info.getName()+"</td>");
        out.print("<td>"+info.getAge()+"</td>");
        out.print("<td>"+info.getSalary()+"</td>");
        out.print("<br>");
    }
   }
%>

我需要的是如何使用具有相同按钮的功能在javascript中实现此代码。第一次,通过单击按钮升序应该工作,下次如果我单击按钮下降应该工作。我们怎样才能做到这一点。提前谢谢..

  

我的JavaScript代码是

<script>
function Ascend()
{ 
<%
List <UserInfo> alist=new ArrayList<UserInfo>();
alist=(ArrayList)request.getAttribute("ascend");
if(!alist.isEmpty())
{
    for(UserInfo info: alist)
    {
        out.print("<td>"+info.getId()+"</td>");
        out.print("<td>"+info.getName()+"</td>");
        out.print("<td>"+info.getAge()+"</td>");
        out.print("<td>"+info.getSalary()+"</td>");
        out.print("<br>");
    }
    alist.clear();
}
else
{
    out.print("The list is empty");
}
%>

}
</script>
<input type="button" onclick="Ascend()" value="SORT" />   
  

但它没有用......

1 个答案:

答案 0 :(得分:0)

你应该尝试在函数中填充一个javascript数组(可能是一个数组数组),然后用它来设置html中的值

function Ascend()
{ 
var list = [];
<%
List <UserInfo> alist=new ArrayList<UserInfo>();
alist=(ArrayList)request.getAttribute("ascend");
if(!alist.isEmpty())
{
    for(UserInfo info: alist)
    {
        out.print("list.push([\"" + info.getId() +"\"]);")
    }
    alist.clear();
}
%>
// write javascript code to iterate over 'list' and create html elements on the client side
}
</script>

基本上你需要使用jsp

中的代码生成javascript代码