我无法分配"<div id=<%=rs.getString(1)%>" >



我正在从数据库中检索建筑名称,我必须将div id指定为建筑名称。

这是出现问题的代码块

while(rs.next())
{
%>
<div id="<%=rs.getString(1)%>">
<%
out.println(rs.getString(1));
%>
</div>
<%
}

上面我使用rs.getString(1)分配了div id。但它显示错误

<%
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/crm","root","");
Statement st = con.createStatement() ;
ResultSet rs =st.executeQuery("select name from building where 1") ;
rs.last();
int count=rs.getRow();
if(count>0)
{
rs.beforeFirst();
while(rs.next())
{
%>
<div id="<%=rs.getString(1)%>">
<%
out.println(rs.getString(1));
%>
</div>
<%
}
}
else
{
out.print("No Buildings Added Yet");
}
}
catch(Exception e)
{
out.print(e);
}
%>

提前感谢

你的问题很模糊,但我想我知道发生了什么。

您已经创建了"仅转发"语句。

https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#createStatement--

您必须为要执行的操作创建一个TYPE_SCROLL_INSENSITIVE和CONCUR_READ_ONLY(理想情况下)的语句。

您可以尝试使用JSTL标记(<c:set><c:out>)。

<c:set var = "id" scope = "session" value = "<%=rs.getString(1)%>"/>

<c:out value = "<%=rs.getString(1)%>"/>

将它放在代码中,而不是"<%=rs.getString(1)%>",然后运行它。

最新更新