在我的servlet中我这样做:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String PatientName = request.getParameter("PatientName");
PatientDB pdb = new PatientDB();
ArrayList < Patient > p = new ArrayList < Patient > ();
p = pdb.searchForPatient(PatientName);
System.out.println("1st name: " + p.get(0).getName());
String s = "";
for (int i = 0; i < p.size(); i++) {
String Name = p.get(i).getName();
int ID = p.get(i).getID();
s += "<a href='#' onClick=hideDiv('<%=" + Name + " >','<%=" + ID + " >') >" + p.get(i).getName() + "</a><br>";
// (p.get(i).getID() + " , " + p.get(i).getName() + "<br>");
}
out.println(s);
} finally {
out.close();
}
}
但是我的输出就像那样
答案 0 :(得分:0)
如果您取出字符串连接并查看您正在构建的标记
s += "<a href='#' onclick=hideDiv('')></a><br>";
您可以看到您没有在qoutes中正确包含onclick属性的值。
"<a href='#' onclick=\"hideDiv('')\"></a><br>">"
因此,使用字符串连接,它看起来像这样:
s += "<a href='#' onclick=\"hideDiv('<%=" + Name + " >','<%=" + ID + " >')\" >" + p.get(i).getName() + "</a><br>";
也不是属性名称是onclick,而不是onClick