Вы получаете большой успех, смешивая JSP и сервлеты? - PullRequest
2 голосов
/ 04 октября 2010

Насколько я понимаю, JSP в любом случае компилируются, поэтому я ожидаю, что вы получите одинаковую производительность от обоих.Я хочу отобразить много данных, и я думаю об использовании JSP для основ и вызове сервлета для генерации кода для каждой строки в таблице.Если нет хорошего способа сгенерировать всю таблицу одним вызовом сервлета, это будет означать несколько сотен вызовов, что, я думаю, неэффективно.Какой здесь «правильный» путь?Прямые сервлеты могли бы принести массу уродливого печатного кода, а прямой JSP - тонну уродливых логических утверждений ...

Ответы [ 2 ]

6 голосов
/ 04 октября 2010

@ Тони совершенно прав. Только не печатайте HTML в сервлете. Эта работа для JSP. Также не пишите сырой Java-код в JSP. Эта работа для сервлета. Как только вы запомните эти два простых правила, все пойдет хорошо.

Пример работы сервлета:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<Product> products = productDAO.list(); // Obtain all products.
    request.setAttribute("products", products); // Store products in request scope.
    request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); // Forward to JSP page to display them in a HTML table.
}

Пример работы JSP с небольшой помощью JSTL:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
<table>
    <c:forEach items="${products}" var="product">
        <tr>
            <td>${product.name}</td>
            <td>${product.description}</td>
            <td>${product.price}</td>
        </tr>
    </c:forEach>
</table>

Просто так:)

Похожие вопросы:

5 голосов
/ 04 октября 2010

Сервлет загружает структуру данных, например карту, помещает ее в запрос и пересылает в jsp.JSP итерирует и форматирует.Это очень эффективно, когда используется для добра, а не зла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...