这是我的代码:
try {
String name = "";
String id1 = empid.getEmpId(id);
System.out.println("id is ===> " + id1);
Map < Object, Object > map = reporteeservice.getReportees(id1);
Set < Map.Entry < Object, Object >> s1 = map.entrySet();
PrintWriter out1 = response.getWriter();
out1.println("<html><head><style>\r\n" + "table {\r\n" + " font-family: arial, sans-serif;\r\n" + " border-collapse: collapse;\r\n" + " width: 100%;\r\n" + "}\r\n" + "\r\n" + "td, th {\r\n" + " border: 1px solid #dddddd;\r\n" + " text-align: left;\r\n" + " padding: 4px;\r\n" + "}\r\n" + "\r\n" + "</style>\r\n" +
"</head><center><font size=\"20\"><body><h2>Reportees List</h2></font>" + "<table>\r\n" + "<tr>\r\n" + "<th>Number</th>" + "<th>User Id</th>" + "<th>Username</th>\r\n</center>" + "<body>");
for (Iterator < Map.Entry < Object, Object >> iterator = s1.iterator(); iterator.hasNext();) {
Map.Entry < Object, Object > entry = iterator.next();
Object name1 = entry.getKey();
Object value = entry.getValue();
int num = Number++;
String values = value.toString();
//System.out.println("returning map");
PrintWriter out = response.getWriter();
System.out.println("values ==> " + values);
request.setAttribute("empid", values);
out1.println(
// "<html><body><table>\r\n" +
// "<tr>\r\n" +
// "<th>User Id</th>\r\n" +
// "<th>Username</th>\r\n" +
"<table>" + "</tr>\r\n" + "<tr>\r\n" + "<td>" + num + "</td>" + "<td>" + values.toUpperCase() + "</td>" + "<td><a href='./Response1?empidVal=" + values + "'>" + name1 + "</a></td>" + "</tr>\r\n" + "</table></body></html>");
}
实际上,我正在尝试将动态的地图对象(因为它们正在循环中进行迭代)添加到Java Servlet中的html表中。 我的输出是:
Number User Id Username
1 AR12355 Anagha
2 MS12345 Madhusu S
3 AT12345 Amreen Tai
但是我想要以一致的方式输出。 但是我不知道如何将值添加到表中。请帮忙。谢谢
答案 0 :(得分:0)
您的<table>
/ </table>
开/关不是对称的。
此外,在迭代中永远不要包含</body>
和</html>
标签,因为它们在结果中应该是唯一的。
无论如何,您将更容易产生输出,并使用w3c validator对其进行验证,并改进模型,直到获得经过验证的模型为止。
答案 1 :(得分:0)