Java out.print出现在html标记之外

Java out.print出现在html标记之外,java,html,Java,Html,我试图用java打印一个循环,然后用html显示它。出于某种原因,打印材料被写在表外 <table> <% ... while(rs.next()) { description = rs.getString("description"); out.print("<tr bgcolor='#FFFFFF' class='style11'>" + description + "</tr>"); ... %> </table>

我试图用java打印一个循环,然后用html显示它。出于某种原因,打印材料被写在表外

<table>
<%
...
while(rs.next()) {
    description = rs.getString("description");
    out.print("<tr bgcolor='#FFFFFF' class='style11'>" + description + "</tr>");
...
%>
</table>

看起来应该可以工作,但生成的html文件如下所示:

description1description2
<table>
  <tbody>
      <tr class="style11" bgcolor="#ABCDEF"></tr>
      <tr class="style11" bgcolor="#ABCDEF"></tr>
  </tbody>
</table>
说明1说明2

不是Java,而是HTML问题。您缺少



不建议使用Scriptlet。while循环的右大括号在哪里?是从web浏览器的实际“视图源”显示的HTML吗?有点可疑,因为我注意到“bgcolor”和“class”与HTML和JSP代码相反。@unekwu我对Java服务器页面还是很陌生,没有Sriptlet我怎么做?这需要一个servlet吗?
<table>
<%
...
while(rs.next()) {
    description = rs.getString("description");
    out.print("<tr bgcolor='#FFFFFF' class='style11'><td>" + description + "</td></tr>");
...
%>
</table>