我编写了一个servlet,它在数据库中查询消息列表,输出被定向到servlet生成的html。用户可以选择通过单击按钮
来查看所选消息ResultSet rs = null;
try
{
startPage(response);
rs = statement.executeQuery(sql);
while(rs.next())
{
out.println("<tr>");
out.println("<td align=center>"+rs.getString("Heading")+"</td>");
out.println("");
out.println("<td align=center>"+rs.getString("Username")+"</td>");
out.println("");
out.println("<td align=center>"+rs.getString("DatePosted")+"</td>");
out.println("");
out.println("<td align=center><form action=dbShowMessage?action='"+rs.getString("Heading")+"'method=post><input value=VIEW type=submit></form></td>");
out.println("</tr>");
}
endPage(response);
}
代码编译没有任何错误,但是当我使用Web服务器调用它时,HTML页面显示时没有包含结果或按钮的表,但是一旦我删除它就会显示所有内容;我在这做错了什么。
或者,我尝试使用URL进行如下操作:
out.println("<tr>");
out.println("<td align=center><a href=dbShowMessage?title="+rs.getString("Heading")+">"+rs.getString("Heading")+"</a></td>");
out.println("");
out.println("<td align=center>"+rs.getString("Username")+"</td>");
out.println("");
out.println("<td align=center>"+rs.getString("DatePosted")+"</td>");
out.println("");
out.println("</tr>");
同样出来也是如此;调用后显示的链接和表格,但只要我创建引用相同的故事。
答案 0 :(得分:1)
不确定它是否解决了您的问题,但您可能希望在method
属性之前添加空格,即更改
...Heading")+"'method=post...
到
...Heading")+"' method=post...
除此之外,您的标题实际包含哪些字符?没有引用标记我认为...
答案 1 :(得分:0)
你有无效的HTML ......
使用此行:
out.println("<td align=center><form action=\"dbShowMessage?action='"+rs.getString("Heading")+"'\" method=\"post\"><input value=\"VIEW\" type=\"submit\"></form></td>");