我正在使用Tomcat 7.我有一个方法,其中有一个名称列表,这些名称有链接到他们的传记页面。该链接基于他们的ID。但是,他们的ID不会显示在网址中。当我点击url显示的链接时,localhost:8080 / Persons / servlet / person?pid = 我不确定为什么id没有显示。
我有一个使用doPost来隐藏密码和用户名的Login类。这是通过链接生成人员列表的页面。
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
...
query = "SELECT * FROM persons";
rs = statement.executeQuery(query);
String name = "";
while(rs.next())
{
String id = rs.getString("id");
name = rs.getString("first_name") + " " + rs.getString("last_name");
out.println("<a href = '/Persons/servlet/person?pid='" + id + "\"'>" + name + "</a>");
out.println("<br/>");
}
}
单击链接后,它将进入处理传记的Person.java类。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
String personID = request.getParameter("pid");
PrintWriter out = response.getWriter();
out.println("<HTML><HEAD><TITLE>Hello</TITLE></HEAD>");
out.println("<BODY><H1>Biography</H1>");
...
}
答案 0 :(得分:0)
可能引号出现问题,试试这个:
out.println("<a href = '/Persons/servlet/person?pid=" + id + "'>" + name + "</a>");
答案 1 :(得分:0)
out.println("<a href = '/Persons/servlet/person?pid='" and+ id + "\"'>" + name + "</a>");
您的href属性值以单引号'/Persons
开头,并以&#34; pid&#34;:?pid='
之后的单引号结束。
id值以及它后面的双引号和单引号不是HTML元素属性值的一部分。
您可以使用Validator验证HTML标记的正确性。