如何从列表中生成java类中的动态表
问题描述:
我正在一个应用程序中,我必须在java类中创建一个html表,并且必须将其保存在数据库中。我在java中创建该表,但是如何生成该表。采用3 lists.I我给我做了什么动态记录,如何从列表中生成java类中的动态表
+"Interview LineUp"
+" <table border ='1'>"
+"<tr>"
+"<td>Interviewe</td>"
+"<td>Timing1</td>"
+"<td>Timing2</td> "
+"</tr> "
+"<tr>"
+"<td>name</td>"
+"<td>timing1</td> "
+"<td>timing2</td> "
+"</tr> "
+"</table>"
所以这是我使用的Java类的表,我有3只列出了包含3集的信息,如名称,timing1,timing2.Now我想,如果在所有列表中有3个值,那么将生成3行。
的名单
List<String> interviewTimingToFrom1 = Arrays.asList(interviewTime1.split(","));
List<String> interviewTimingToFrom2 = Arrays.asList(interviewTime2.split(","));
List<String> listOfinterviewerName = Arrays.asList(intervierwName.split(","));
像我这样做
+"<tr>";
for(int k=0;k<listOfinterviewerName .size();k++){
+"<td>listOfinterviewerName .get(k)</td>"
+}
如何做到这一点,在java类?有人请帮忙。提前感谢
答
+"test"
不是有效的Java语句。你将什么文字添加到?
当增量构建一个字符串时,应该使用StringBuilder
总是。
List<String> interviewTimingToFrom1 = Arrays.asList(interviewTime1.split(","));
List<String> interviewTimingToFrom2 = Arrays.asList(interviewTime2.split(","));
List<String> listOfinterviewerName = Arrays.asList(intervierwName.split(","));
StringBuilder buf = new StringBuilder();
buf.append("<html>" +
"<body>" +
"<table>" +
"<tr>" +
"<th>Interviewe</th>" +
"<th>Timing1</th>" +
"<th>Timing2</th>" +
"</tr>");
for (int i = 0; i < listOfinterviewerName.size(); i++) {
buf.append("<tr><td>")
.append(listOfinterviewerName.get(i))
.append("</td><td>")
.append(interviewTimingToFrom1.get(i))
.append("</td><td>")
.append(interviewTimingToFrom2.get(i))
.append("</td></tr>");
}
buf.append("</table>" +
"</body>" +
"</html>");
String html = buf.toString();
当然,为了防范Cross-site scripting (XSS)攻击,你应该逃避数值。
答
我对你的问题不太清楚,但根据我的理解,下面的代码将适用于你。
public static void main(String[] args) {
String s = ""+"Interview LineUp"
+" <table border ='1'>"
+"<tr>"
+"<td>Interviewe</td>"
+"<td>Timing1</td>"
+"<td>Timing2</td> "
+"</tr> "
;
String interviewTime1="11:30,12:30";
String interviewTime2="13:30,15:00";
String intervierwName="Adam,Smith";
List<String> interviewTimingToFrom1 = Arrays.asList(interviewTime1.split(","));
List<String> interviewTimingToFrom2 = Arrays.asList(interviewTime2.split(","));
List<String> listOfinterviewerName = Arrays.asList(intervierwName.split(","));
for(int i=0;i<interviewTimingToFrom1.size();i++)
{
s = s.concat("<tr>"
+"<td>"+listOfinterviewerName.get(i)+"</td>"
+"<td>"+interviewTimingToFrom1.get(i)+"</td> "
+"<td>"+interviewTimingToFrom2.get(i)+"</td> "
+"</tr> ");
}
s=s.concat("</table>");
System.out.println(s);
}
我是否理解你的权利,你必须将* HTML *保存在数据库中? – Andreas
您的输入数据非常晦涩。如果3个列表的值不同,该怎么办? – Andreas
@Andreas是的,你写的3列表将有相同数量的数据肯定 – lucifer