如何从servlet发送带有链接标记的数据

时间:2016-06-16 03:24:25

标签: javascript java servlets

在我的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();
    }
}

但是我的输出就像那样

enter image description here

1 个答案:

答案 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