【问题标题】:Trying to print out an html table in Netbeans试图在 Netbeans 中打印出一个 html 表
【发布时间】:2016-08-07 22:15:16
【问题描述】:

我正在学习使用 java 和 netbeans 与数据库通信。 我有一个名为 tunafishes 的数据库,其中包含一些信息。我想使用 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>

}

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

【问题讨论】:

    标签: java html mysql servlets netbeans


    【解决方案1】:

    你在 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>");
    }
    

    【讨论】:

    • 我尝试将桌子移近,但没有解决任何问题。感谢您提醒关闭它的错误位置。
    猜你喜欢
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    相关资源
    最近更新 更多