如何打印<a href=""> tag in a servlet?</a>

时间:2013-02-05 22:59:33

标签: jquery jsp servlets

所以我按以下方式获取 PrintWriter

    response.setContentType("text/plain");
    PrintWriter out = response.getWriter();

在JSP中我只是附加响应(如果数据是响应):

         $('#venueList').empty(); 

         $('#venueList').append(data); 

并尝试打印以下<a>标记,我知道它并不好,但我需要快速解决方案:

  out.println("<tr><td>" + v.getOther() + "</td></tr>");
  out.println("<tr><td><a href=\"VenueServlet?action=edit&userId="+v.getId()+">Update</a></td></tr>");
  out.println("</table>"); 

我的问题是链接没有调用, 例如:VenueServlet?action=edit&userId=66 它试图继续像: /VenueServlet?action=edit&userId=66>Update</a></td></tr></table>

1 个答案:

答案 0 :(得分:3)

您永远不会关闭href属性的引用。

输出本身就足以诊断出来了 - href一直在继续:

out.println("<tr><td><a href=\"VenueServlet?action=edit&userId="+v.getId()+"\">Update</a></td></tr>");

为什么不在Java端生成HTML的另一个原因。考虑也使用String.format;当你不必担心字符串数学时,阅读这个烂摊子会更容易(IMO)。

此外,如果ID来自浏览器,您可能希望适当地转义它。