无法在 HTML table 中正确填充列?
Cant populate the columns correctly in of an HTML table?
我有一个程序可以创建 HTML table 并将 table 中的数据填充到特定列中。目前我的程序将所有数据放在一列中,而将其他数据留空。需要帮助用所需数据填充每一列。我已经包含了部分代码以及我的输出图像 table。请注意他们是关于填充列的数据类型的其他问题,但我想先从上面概述的问题开始。
public class HtmlDataTable {
private static final String FileDemo = null;
public static void writehtmltable(Set<String> filenameSet){
if (filenameSet == null)
return;
//creates table in the following path
File htmltable = new File("C:/test/Output.html");
try (BufferedWriter bw = new BufferedWriter(new FileWriter(htmltable))) {
//write html data table
bw.write(htmltop);
// "<th>POM File Data</TH> <TH>Lib Directory Files</TH> <TH>Missing Jarfiles</TH>";
for (String jarfilename : filenameSet) {
String lines="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>"; // to fill Missing jarfile column
String line="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";// to fill lib directory file column
String lin="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";// to fill the Pom File column
bw.write(lines);
bw.write(line);
bw.write(lin);
}
bw.write(htmlbottom);
} catch (IOException e) {
e.printStackTrace();
}
}
// Code for HTML Table
private static String htmltop = "<!DOCTYPE html>\n"+
"<html>\n"+
"<head>"+
"<title>Jar Filename Existance Check</title>"+
"<style>"+
"table, th, td {"+
" border: 2px solid black;"+
"}"+
"</style>"+
"</head>"+
"<body>"+
"<table>\n"+
" <tr> <th colspan='100'>" +
"<h3><br>Jarfilename Existance Check</h3> </th> </tr>" +
"<th>POM File Data</th> <th>Lib Directory Files</th> <th>Missing Jarfiles</th>";
private static String htmlbottom = "</table></body></html>";
public static void main(String[] args) {
new HtmlDataTable().writehtmltable(null);
}
}
发生这种情况是因为您没有为这些列设置要显示的任何数据。 <td> </td>
你没有提到你想把什么数据放在那里。这些数据来自哪里。
就像<td>"+ jarfilename + "</td>
一样,您需要在此处的空 td 标签中写一些东西(直接内容或一些 java 变量)<td> </td>
如果您只想在最远的列中显示一次内容:
for (String jarfilename : filenameSet) {
String lines="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";
bw.write(lines);
}
如果您希望所有三列中的信息相同:
for (String jarfilename : filenameSet) {
String lines="<tr> <td>"+ jarfilename + "</td> <td>"+ jarfilename + " </td> <td>"+ jarfilename + "</td> </tr>";
bw.write(lines);
}
您看到相同的内容重复了三次 因为这就是您编写代码的目的 - 您正在将相同的内容写入 table三次。如果你删除额外的写命令(再说一次,我不能强调这一点,他们连续三次写相同的内容)你将看不到额外的table行。
我有一个程序可以创建 HTML table 并将 table 中的数据填充到特定列中。目前我的程序将所有数据放在一列中,而将其他数据留空。需要帮助用所需数据填充每一列。我已经包含了部分代码以及我的输出图像 table。请注意他们是关于填充列的数据类型的其他问题,但我想先从上面概述的问题开始。
public class HtmlDataTable {
private static final String FileDemo = null;
public static void writehtmltable(Set<String> filenameSet){
if (filenameSet == null)
return;
//creates table in the following path
File htmltable = new File("C:/test/Output.html");
try (BufferedWriter bw = new BufferedWriter(new FileWriter(htmltable))) {
//write html data table
bw.write(htmltop);
// "<th>POM File Data</TH> <TH>Lib Directory Files</TH> <TH>Missing Jarfiles</TH>";
for (String jarfilename : filenameSet) {
String lines="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>"; // to fill Missing jarfile column
String line="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";// to fill lib directory file column
String lin="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";// to fill the Pom File column
bw.write(lines);
bw.write(line);
bw.write(lin);
}
bw.write(htmlbottom);
} catch (IOException e) {
e.printStackTrace();
}
}
// Code for HTML Table
private static String htmltop = "<!DOCTYPE html>\n"+
"<html>\n"+
"<head>"+
"<title>Jar Filename Existance Check</title>"+
"<style>"+
"table, th, td {"+
" border: 2px solid black;"+
"}"+
"</style>"+
"</head>"+
"<body>"+
"<table>\n"+
" <tr> <th colspan='100'>" +
"<h3><br>Jarfilename Existance Check</h3> </th> </tr>" +
"<th>POM File Data</th> <th>Lib Directory Files</th> <th>Missing Jarfiles</th>";
private static String htmlbottom = "</table></body></html>";
public static void main(String[] args) {
new HtmlDataTable().writehtmltable(null);
}
}
发生这种情况是因为您没有为这些列设置要显示的任何数据。 <td> </td>
你没有提到你想把什么数据放在那里。这些数据来自哪里。
就像<td>"+ jarfilename + "</td>
一样,您需要在此处的空 td 标签中写一些东西(直接内容或一些 java 变量)<td> </td>
如果您只想在最远的列中显示一次内容:
for (String jarfilename : filenameSet) {
String lines="<tr> <td> </td> <td> </td> <td>"+ jarfilename + "</td> </tr>";
bw.write(lines);
}
如果您希望所有三列中的信息相同:
for (String jarfilename : filenameSet) {
String lines="<tr> <td>"+ jarfilename + "</td> <td>"+ jarfilename + " </td> <td>"+ jarfilename + "</td> </tr>";
bw.write(lines);
}
您看到相同的内容重复了三次 因为这就是您编写代码的目的 - 您正在将相同的内容写入 table三次。如果你删除额外的写命令(再说一次,我不能强调这一点,他们连续三次写相同的内容)你将看不到额外的table行。