У меня есть страница JSP, как это:Как предотвратить повторение по тем же атрибуты на JSP-странице
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Page for find kids</title>
</head>
<body>
<a href="#" id="shlink"><h3 align="center">Parameters of search</h3></a>
<form:form action="result" method="get" modelAttribute="fbosAttribute" >
<table id="searchForm" align="center">
<tr id="dateId">
<th>Date:</th>
<td><form:select path="particularDate">
<form:option value=""> -Выберите дату-</form:option>
<form:options items="${listOfDates}"></form:options>
</form:select> <td><font color="#FF0000"><b><form:errors path="particularDate"/></b> </font></td>
</td>
</tr>
<tr id="nameId">
<th>Name:</th>
<td><form:select path="nameOfInstitution">
<form:option value=""> -Выберите учреждение-</form:option>
<form:options items="${listOfInstitutionsNames}"></form:options>
</form:select></td> <td><font color="#FF0000"><b><form:errors path="nameOfInstitution"/></b></font></td>
</tr>
<tr id="typeId">
<th>Type:</th>
<td>
<form:select path="typeOfInstitution">
<form:option value=""> -Выберите тип-</form:option>
<form:options items="${listOfInstitutionsTypes}"></form:options>
</form:select> </td> <td><font color="#FF0000"><b><form:errors path="typeOfInstitution"/></b></font></td>
</tr>
<tr>
<td>
<input type="submit" value="Find" id="searchBtn" />
</td>
</tr>
</table>
</form:form>
<c:choose>
<c:when test="${empty dateAttribute}">
<h1 align="center">Insert parameterst for search</h1>
</c:when>
<c:otherwise>
<table align="center" border="1" id="resultTable">
<thead>
<tr>
<th>Name of school</th>
<th>Type</th>
<th>Particular date</th>
<th>Day Scheduale</th>
<th>Work Scheduale</th>
<th>Rotation</th>
<th>Number of kids</th>
<th>Kids upper 3 years old</th>
<th>Kids under 3 years old</th>
<th>Kids go to school date </th>
<th>Kids admitted date</th>
</tr>
</thead>
<c:forEach items="${institutionAttribute}" var="institutionVar">
<c:forEach items="${dateAttribute}" var="creationDateVar">
<c:forEach items="${srcAttribute}" var="schRotChildVar">
<tr>
<td align="center">${institutionVar.nameOfInstitution}</td>
<td align="center">${institutionVar.typeName}</td>
<td align="center">${creationDateVar.particularDate} </td>
<td align="center">${schRotChildVar.dayScheduale}</td>
<td align="center">${schRotChildVar.workScheduale}</td>
<td align="center">${schRotChildVar.rotation}</td>
<td align="center">${schRotChildVar.numberOfChild}</td>
<td align="center">${schRotChildVar.childUnder3YearsOld}</td>
<td align="center">${schRotChildVar.childUpper3YearsOld}</td>
<td align="center"><fmt:formatDate value="${creationDateVar.childGoSchoolDate}" pattern="dd-MM-yyyy" /> </td>
<td align="center"><fmt:formatDate value="${creationDateVar.childAdmissionDate}" pattern="dd-MM-yyyy" /></td>
</tr>
</c:forEach>
</c:forEach>
</c:forEach>
</table>
</c:otherwise>
</c:choose>
</body>
</html>
Так что, когда я извлечения данных не из этого JSP, но из моего основного метода() она отлично работает. Что означает, что моя реализация - класс dao работает стабильно. Но когда я использую этот jsp, он извлекает подобные данные более чем в 10 раз. Я думаю об этом теге <c:forEach>
, здесь должна быть проблема. Пожалуйста, помогите мне решить эту проблему. Что вы предлагаете, может быть, мне не нужен тег <c:forEach>
, возможно, что-то другое.
Благодарим вас за ответ. Ваш ответ, без сомнения, действительно профессионален, и его трудно даже понять. Что такое «n куб»? Мой dao работает нормально, он возвращает все, что мне нужно, чтобы я мог вернуться в консоль, но теперь мне нужно поместить все эти данные в свою таблицу, чтобы они выглядели как таблица, более точная для пользователя. Мне нужно перебирать их, если У меня есть более одного объекта для возврата в качестве атрибута модели из dao. Одно решение, которое я нашел, перебирает их в jsp, но вот проблема, из-за которой я даже не могу правильно перебрать атрибут из dao. В любом случае, спасибо. –
Вы используете 3 вложенных цикла. Для краткости я предполагаю, что каждый цикл работает с n элементами. Тогда будет происходить n * n * n. Это сложность времени вызова n cube. Сколько данных вы получаете DAO? Если jsp должен отображать много данных, тогда лучше использовать разбиение на страницы. Вот простой пример разбивки на страницы с помощью jsp: http://theopentutorials.com/examples/java-ee/jsp/pagination-in-servlet-and-jsp/ –
MAK Ripon благодарит вас за ваш ответ. Мой максимум dao получит 40 строк, и каждая строка имеет 9 столбцов. Это максимум. Я посмотрю в этом примере pegination, это выглядит как способ решения проблемы. –