【发布时间】:2016-03-26 20:56:06
【问题描述】:
我创建了一个 java 服务,它允许用户查看 XML、Json 或 String 格式的数据。我的问题是我的网页没有在 html 页面上显示 XML 标签。检查元素时,XML 标记在那里,但它们不会打印到屏幕上。有什么想法吗?
这是一个屏幕截图,也是我的代码。
public class FindStaff extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String sortedDataText = null;
List<StaffInfo> staffInfoList = StaffUtils.findAllStaff();
String format = request.getParameter("format");
if (format.equalsIgnoreCase("json")) {
sortedDataText = "{ \"membersOfStaff\":[ ";
for (int i = 0; i < staffInfoList.size(); i++) {
sortedDataText += "{\"id\":" + "\"" + staffInfoList.get(i).getStaffID() + "\",";
sortedDataText += "\"forename\":" + "\"" + staffInfoList.get(i).getForename() + "\",";
sortedDataText += "\"surname\":" + "\"" + staffInfoList.get(i).getSurname() + "\",";
sortedDataText += "\"address\":" + "\"" + staffInfoList.get(i).getLocation() + "\",";
sortedDataText += "\"phone\":" + "\"" + staffInfoList.get(i).getPhone() + "\",";
sortedDataText += "\"email\":" + "\"" + staffInfoList.get(i).getEmail() + "\"}";
if (staffInfoList.size() - i > 1) {
sortedDataText += ",";
}
}
sortedDataText += "]}";
System.out.println("JSON DATA: " + sortedDataText);
} else if (format.equalsIgnoreCase("xml")) {
sortedDataText = "<membersOfStaff>";
for (int i = 0; i < staffInfoList.size(); i++) {
sortedDataText += "<staffMember><id>" + staffInfoList.get(i).getStaffID() + "</id>";
sortedDataText += "<forename>" + staffInfoList.get(i).getForename() + "</forename>";
sortedDataText += "<surname>" + staffInfoList.get(i).getSurname() + "</surname>";
sortedDataText += "<address>" + staffInfoList.get(i).getLocation() + "</address>";
sortedDataText += "<phoneNumber>" + staffInfoList.get(i).getPhone() + "</phoneNumber>";
sortedDataText += "<email>" + staffInfoList.get(i).getEmail() + "</email></staffMember>";
}
sortedDataText += "</membersOfStaff>";
System.out.println("XML DATA: " + sortedDataText);
} else if (format.equalsIgnoreCase("string")) {
sortedDataText = "membersOfStaff[ ";
for (int i = 0; i < staffInfoList.size(); i++) {
sortedDataText += "id=" + staffInfoList.get(i).getStaffID() + ",";
sortedDataText += "forename=" + staffInfoList.get(i).getForename() + ",";
sortedDataText += "surname=" + staffInfoList.get(i).getSurname() + ",";
sortedDataText += "address=" + staffInfoList.get(i).getLocation() + ",";
sortedDataText += "phoneNumber=" + staffInfoList.get(i).getPhone() + ",";
sortedDataText += "email=" + staffInfoList.get(i).getEmail();
if (staffInfoList.size() - i > 1) {
sortedDataText += ", \n\n\n";
}
}
sortedDataText += "]";
System.out.println("TEXT DATA: " + sortedDataText );
}
PrintWriter out = response.getWriter();
out.print(sortedDataText);
}
我的问题是 XML。 json数据正确显示,字符串数据也正确显示。任何想法都将不胜感激(我是新手)
【问题讨论】:
标签: java html json xml servlets