据我所知,JSP无论如何都是编译的,所以我预计您会从两者获得类似的性能。我希望显示大量数据,并且我正在考虑使用JSP作为基础,并调用servlet为表中的每一行生成代码。除非有一种很好的方法通过对servlet的一次调用来生成整个表,否则这将意味着数百次调用,我认为这效率很低。这里的“正确”方式是什么?直接的servlet会产生大量丑陋的println代码,而直接的JSP会产生大量丑陋的逻辑语句……
发布于 2010-10-04 09:59:36
@Tony是完全正确的。只是不要在Servlet中打印HTML。这项工作是针对JSP的。另外,不要在JSP中编写原始Java代码。此作业是针对Servlet的。一旦你记住了这两条简单的规则,一切都会顺利进行的。
Servlet的作业示例:
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.
}在JSTL帮助很少的情况下,JSP的工作示例:
<%@ 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>就这么简单:)
相关问题:
发布于 2010-10-04 09:31:21
servlet加载一个类似于map的数据结构,将其放入请求中,然后转发给一个jsp。jsp迭代并格式化。当它被用来做好事而不是坏事时,它是非常有效的。
https://stackoverflow.com/questions/3852299
复制相似问题