В моем JSP я перебираю объект, содержащий список сотрудников, и отображаю его.Для каждой строки сотрудника я также предоставляю ссылку, чтобы пользователь мог просматривать данные сотрудника.Ссылка вызывает функцию Javascript, в которой передается идентификатор сотрудника.
Проблема, с которой я столкнулся, заключается в том, что время отклика резко увеличивается с увеличением количества строк в моем объекте.Когда мой объект содержит более тысячи записей, рендеринг страницы занимает не менее 30 секунд.Вот код:
function getDetail(empID){
//AJAX call to get employee details}
}
.
.
<table>
<c_rt:forEach var="emp" items="${employeeListObj}">
<tr>
<td>
<a href="#" onClick="getDetail('<c:out value="${emp.id}"/>')"><c:out value="${emp.lastName}" /></a>
</td>
</tr>
</c_rt:forEach>
</table>
Я сузил преступника до динамического параметра ID сотрудника или его оценки во время выполнения.Сначала я подумал, что это проблема JSTL c: out, но я также попытался перейти на обычную переменную JSP (т. Е. GetDetail ('<% = ctr%>')), и время отклика все еще невелико.* Но когда я изменил ее на статическую строку (т.е. getDetail («некоторая статическая строка»)), время отклика становится хорошим.
Я также попытался передать его как функцию (т.е. onClick = "getDetail (function() {return ''}) ") но время отклика все равно не улучшилось.
Есть ли лучший (более оптимизированный) способ сделать это, что приведет к лучшему времени отклика?