2015-10-23 4 views
0

У меня есть файл индекса и файл класса сервлета. Мне нужно создать таблицу после отправки информации из индекса в класс сервлета. Я отправляю форму.Как использовать цикл for в классе сервлета?

 <form name="form" method="post" action="servlet"> 
     Number: <input type="number" name="table"/> 
     <input type="submit" value="Submit"/> 
     </form> 

Эта информация передается сервлету в виде числа. Мне нужно сделать таблицы с номером. Если это 1, это 1 строка, если она 5, это 5 строк. Мне нужно использовать цикл for на странице сервлета, но я застрял. Я пробовал что-то вроде ниже, но это не работает.

<table> 
     <% for(int row=1; row <= 5; row++) { %> 
     <tr> 
     </tr> 
     <% } %> 
</table> 

ответ

2

Старайтесь избегать Scriplets. Вы можете использовать тег JSTL forEach для циклизации в самом файле jsp.

установить count в качестве атрибута запроса в сервлет, а затем получить доступ к нему в JSP, как показано ниже:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
... 
<c:forEach begin="0" end="${count}" varStatus="loop"> 
    Index: ${loop.index}<br/> 
</c:forEach> 

Read How to loop over something a specified number of times in JSTL?

Полный пример:

HTML:

<form name="form" method="post" action="servlet"> 
    Number: <input type="number" name="table"/> 
    <input type="submit" value="Submit"/> 
</form> 

Servlet

//inside doPost method 

    request.setAttribute("count", request.getParameter("table"); 

    // redirect to jsp 

    String nextJSP = "/table.jsp"; 
    RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP); 
    dispatcher.forward(request,response); 

JSP:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
... 
<c:forEach begin="0" end="${count}" varStatus="loop"> 
    Index: ${loop.index}<br/> 
</c:forEach> 
+0

Я пытался, но как же я это осуществить? Я просто поместил его в файл servlet.java в виде html-кода? Пример: out.print ("forEach code"); – Renuz

+0

вам нужен сервлет и jsp оба файла. Сервлет - для логики на стороне сервера и jsp для разметки html. – Braj

+0

Где будет реализовываться, <% @ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> Я использую сержант netbeans. – Renuz

Смежные вопросы