【发布时间】:2013-03-28 09:14:51
【问题描述】:
我正在创建一个 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>
或者如果任何人都可以指导我看一个示例,因为我目前的搜索找不到任何示例。
【问题讨论】:
-
您在上面做了完全相同的事情。获取您的用户列表,对其进行迭代并创建一个字符串
"th" + user.getId() + "</th>",然后将其添加到您的 html 字符串中。 注意这是你能做的最糟糕的事情。阅读:stackoverflow.com/tags/servlets/info -
如果您不想在 Java 代码中创建表格 HTML,您将需要使用 JSP 或 JSF 之类的东西。如果你想用你的 Java 代码来做,按照 SotiriosDelimanolis 的建议去做。
标签: java html servlets html-table