java - 尝试在 Netbeans 中打印 html 表

标签 java html mysql servlets netbeans

我正在学习使用 java 和 netbeans 与数据库对话。 我有一个名为金枪鱼的数据库,其中包含一些信息。我想使用 netbeans 打印 html 表。我以为我已经设置好了一切,但是当我尝试打印表格时什么也没有出现。不确定我丢失了什么或者我是否位于错误的文件中...

来自 TunaServlet 的代码

package ViewLayer;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import businesslayer.TunasBusinessLogic;
import transferobjects.Tuna;
import java.util.List;

/**
*
* @author Samuel
*/
public class TunaServlet extends HttpServlet {

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Sam Murdock</title>");            
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Sam Murdock</h1>");
        out.println("date:" + java.time.LocalDate.now().toString());
        out.println("<br>");
        out.println("time:"+java.time.LocalTime.now().toString());
        out.println("<br>");
        TunasBusinessLogic logic = new TunasBusinessLogic();
        List<Tuna>tunas=logic.getAllTunas();
        out.println("<table>");
        out.println("<tr>");
            out.println("<td>Tuna Id</td>");
            out.println("<td>Genus Name</td> ");
            out.println("<td>Species Name</td>");
            out.println("<td>Common Name</td>");
            out.println("<td>Max Weight</td>");
            out.println("<td>IUCN Status</td>");
        out.println("</tr>");
        for(Tuna tuna: tunas){
            out.printf("<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%f</td><td>%s</td></tr>",
                    tuna.getTunaId(), tuna.getGenusName(),tuna.getSpeciesName(), tuna.getCommonName(), tuna.getMaxWeight(), tuna.getIucnStatus());
            out.println("</table>");
        }out.println("</body>");
        out.println("</html>");
    }
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
 * Handles the HTTP <code>GET</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Returns a short description of the servlet.
 *
 * @return a String containing servlet description
 */
@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>

}

如果我丢失了某个文件,您需要查看请告诉我,我也会复制它。它打印我的名字以及时间和日期没有问题,但不会打印表格的任何内容。

最佳答案

您正在关闭 for 循环内的表格,请将其移至 for 循环外

.... 
List<Tuna>tunas=logic.getAllTunas();
out.println("<table>");
out.println("<tr>");
  out.println("<td>Tuna Id</td>");
  out.println("<td>Genus Name</td> ");
  out.println("<td>Species Name</td>");
  out.println("<td>Common Name</td>");
  out.println("<td>Max Weight</td>");
  out.println("<td>IUCN Status</td>");
out.println("</tr>");
for(Tuna tuna: tunas){
     out.printf("<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%f</td><td>%s</td></tr>",tuna.getTunaId(), tuna.getGenusName(),tuna.getSpeciesName(), tuna.getCommonName(), tuna.getMaxWeight(), tuna.getIucnStatus());
    }
    //* move table closing tag out of for loop
    out.println("</table>");
    out.println("</body>");
    out.println("</html>");
}

关于java - 尝试在 Netbeans 中打印 html 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36655629/

相关文章:

java - JAX-RS:每个资源的选项

css - 一行多个框的 HTML 布局

mysql - 如果我无法为每个表行提供不同数量的列,该怎么办?

mysql - 在 MySQL 命令 : sleep 中显示 PROCESSLIST

Java:我如何知道我的 TableModel 是否有 TableModelListener?

java - 如何在 Java 中创建自定义异常?

html - 向右浮动不使用与向左浮动相同的底部边距

mysql - 当日期与 mysql 单元格匹配时执行脚本

java - HttpClientBuilder() 在 Java IDE 中抛出错误,因为“HttpsClientBuilder() 在 org.apache.http.impl.client.HttpClient.Builder 中的访问受到保护”

html - 从根 html 元素继承 rem 单元中基于长度的 css 属性