2011-07-08 41 views
0

我为我的前端目的使用纯的Javascript和JSP。 单击一个搜索函数,我从数据库中获取ArrayList的形式,并将其显示在一个表中。排序在一个Javascript函数和JSP

这一切工作正常。

现在,我的要求是,员工数据可以像(员工姓名,员工年龄)

为此我使用了两种比较类不同的方式整理出来,那就是年龄和名字。

UI上有一个按钮(按名称排序),单击该功能后,如何实现数据的排序?

+0

重新标记添加JavaScript代码,因为它是一个JavaScript的问题。 –

回答

0

UI上有一个按钮(按名称排序)。现在请告诉我点击那个 函数,我怎么能实现这个?

在我的眼里,你可以通过两种方式实现:

  1. 服务器端方式(推荐),因为JavaScript需要大量的CPU和内存资源。因此,在客户端定义一个按钮并向服务器发出请求。向该URL添加一个参数,以便服务器端脚本可以识别请求的操作。排序后,将新输出发送回客户端。

  2. 您可以使用JS框架,如jQuery加jGrid(在示例中),但相信我,它效率不高。

(注:如需更详细的信息,我们将需要您提供更多的输入)

+0

非常感谢。 – Kiran

0

在服务器端执行JSP代码以生成要发送回浏览器的网页。您的Javascript代码 - 包括任何onclick事件处理程序 - 在客户端(通过浏览器)执行,并且将不能执行任何服务器端(JSP)代码。但是,您可以使用AJAX异步请求服务器的响应,然后使用响应文本动态更新页面的DOM。

你要做的就是向服务器发出一个AJAX调用来检索信息,使用所需的顺序对它进行排序(使其成为请求URL的参数),生成表的HTML(仅限于表 - 别无其他)使用该有序数据,然后将该HTML发回作为对AJAX调用的响应。

我不能给你提供关于如何执行AJAX调用的服务器端处理的很多信息,但我可以为您提供Javascript代码(在jQuery中,因为它使它更容易)。

<div id="mydiv"> 
<table> 
// table contents here 
</table> 
</div> 

function ajax() { 
    url = URL that will handle the AJAX call; 
    $.get(url, function (data) { 
     success(data); 
    }); 
} 

function success(data) { 
    $('#mydiv').html(data); 
} 

表包含在div元素中,因为这使得它更容易更新页面的相关部分。