字符串构建器变为html表格式

时间:2013-04-05 20:13:20

标签: java html servlets html-table

我正在创建一个servlet来显示我生成的一个小程序的前端。在这个程序中,我有一个LinkedList调用执行队列,我放在一个字符串构建器中。

 public String getJobsForPrint() {
        Iterator<JobRequest> it = ExecutionQueue.iterator();
        StringBuilder result = new StringBuilder();
        String NEW_LINE = System.getProperty("line.separator");

        while (it.hasNext()) {
            JobRequest temp = it.next();
            result.append(this.getClass().getName()).append(" Object {").append(NEW_LINE);
            result.append(" User ID: ").append(temp.getUserID());
            result.append(" Start Date: ").append(temp.getStartDate());
            result.append(" End Date: ").append(temp.getEndDate());
            result.append(" Deadline Date: ").append(temp.getDeadDate());
            result.append(" Department: ").append(temp.getDepartment());
            result.append(" Project Name: ").append(temp.getProjectName());
            result.append(" Project Application: ").append(temp.getProjectApplication());
            result.append(" Priority: ").append(temp.getPriority());
            result.append(" Cores: ").append(temp.getCores());
            result.append(" Disk Space: ").append(temp.getDiskSpace());
            result.append(" Analysis: ").append(temp.getAnaylsis()).append(NEW_LINE);
            result.append("}");
        }
        return result.toString();

在我的servlet端我通过以下方式调用字符串:

protected void processExecutionQueue(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE html>");
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Execution Queue</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<div>");
    out.println("<div style='position:absolute; top:20px; right: 20px;'><a href='/ProjectAndBackend/index.jsp'>LOGOUT</a></div>");
    out.println("</div>");
    out.println("<p>Queue:</p>");           
    out.println("Execution Queue:" + SystemServlet.getScheduler().getJobsForPrint());               
    out.println("</body>");
    out.println("</html>");
}

所以现在我在彼此之后显示字符串,其中包含从链表中获取的所有数据。我想在网页方面,能够获取数据并将其放入表中,以使其看起来更整洁,而不仅仅是将字符串扔到网页上。

如何实现html以在某些方面显示字符串的特定元素 所以下面的示例我有标题,然后数据从字符串中获取元素并继续写出来,直到显示迭代器的所有数据

<table border="1">
<tr>
<th>User ID</th>
<th>Start Date</th>
</tr>
<tr>
<td>User ID DATA</td>
<td>Start Date DATA</td>
</tr>

或者,如果有人可以指导我一个例子,因为我目前的搜索找不到任何一个。

1 个答案:

答案 0 :(得分:4)

构建StringBuilder时,请使用HTML标记将每个标记放在一行中。

代码应该是这样的

StringBuilder result = new StringBuilder();
result.append("<tr><td>").append(User ID DATA).append("</td><td>").append(Start Date DATA).append("</td></tr>");

注意:

1.您需要在processExecutionQueue()方法中创建基本html和表标题列。     2.只需要在getJobsForPrint()方法中创建数据行。

因此,当结果从getJobsForPrint()传递时,它将嵌入到其他HTML文件中。

希望您可以使用此建议完成代码。