使用 while 循环在 jsp 上动态创建行
Create rows dynamically on jsp using while loop
我正在尝试从 hsqldb
检索数据并以 table 的形式向用户显示。我正在使用 while 循环查看是否有更多数据要显示,但是 jsp 页面在有 while! 的行上抛出编译器错误!请帮忙
以下是我的jsp代码是:
<%
Connection con = JDBCHelper.getConnection();
PreparedStatement ps_sel = null;
HttpSession s = request.getSession(false);
ResultSet rs = null;
String username = (String)s.getAttribute("username");
String string = (String)request.getAttribute("string");
try {
ps_sel = con.prepareStatement("select * from tasks where username = ? and (tname like ? or tasks like ?)");
ps_sel.setString(1, username);
ps_sel.setString(2, "%"+string+"%");
ps_sel.setString(3, "%"+string+"%");
ps_sel.execute();
rs = ps_sel.getResultSet();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = ps_sel.getResultSet();
while(rs.next())
{
%>
<tr>
<td><%= rs.getString(1)%></td>
<td><%= rs.getString(2)%></td>
<td><%= rs.getString(3)%></td>
<td><%= rs.getString(4)%></td>
<td><%= rs.getString(5)%></td>
<td><%= rs.getString(6)%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
<%@ page import="java.sql.*" %>
<% Class.forName("org.hsqldb.jdbcDriver"); %>
<HTML>
<HEAD>
<TITLE>Fetching Data From a Database</TITLE>
</HEAD>
<BODY>
<H1>Fetching Data From a Database</H1>
<TABLE BORDER="1">
<TR>
<TH>ID</TH>
<TH>Name</TH>
<TH>City</TH>
<TH>State</TH>
<TH>Country</TH>
</TR>
<%
Connection connection = DriverManager.getConnection( "Url", "YourName", "Password");
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
HttpSession s = request.getSession(false);
ResultSet rs = null;
String username = (String)s.getAttribute("username");
String string = (String)request.getAttribute("string");
try {
ps_sel = con.prepareStatement("select * from tasks where username = ? and (tname like ? or tasks like ?)");
ps_sel.setString(1, username);
ps_sel.setString(2, "%"+string+"%");
ps_sel.setString(3, "%"+string+"%");
ps_sel.execute();
rs = ps_sel.getResultSet();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = ps_sel.getResultSet();
while(rs.next())
{
%>
<TR>
<TD> <%= resultset.getString(1) %> </TD>
<TD> <%= resultset.getString(2) %> </TD>
<TD> <%= resultset.getString(3) %> </TD>
<TD> <%= resultset.getString(4) %> </TD>
<TD> <%= resultset.getString(5) %> </TD>
</TR>
<%
}
%>
</TABLE>
</BODY>
</HTML>
jsp 文件中的准备语句在句法上是合法的。但避免使用它们。使用 POJO 编写 java 代码。可以将 jstl 用于相同的目的。如果你是初学者,那么这里使用jstl就是这里的重要学习内容。
我正在尝试从 hsqldb
检索数据并以 table 的形式向用户显示。我正在使用 while 循环查看是否有更多数据要显示,但是 jsp 页面在有 while! 的行上抛出编译器错误!请帮忙
以下是我的jsp代码是:
<%
Connection con = JDBCHelper.getConnection();
PreparedStatement ps_sel = null;
HttpSession s = request.getSession(false);
ResultSet rs = null;
String username = (String)s.getAttribute("username");
String string = (String)request.getAttribute("string");
try {
ps_sel = con.prepareStatement("select * from tasks where username = ? and (tname like ? or tasks like ?)");
ps_sel.setString(1, username);
ps_sel.setString(2, "%"+string+"%");
ps_sel.setString(3, "%"+string+"%");
ps_sel.execute();
rs = ps_sel.getResultSet();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = ps_sel.getResultSet();
while(rs.next())
{
%>
<tr>
<td><%= rs.getString(1)%></td>
<td><%= rs.getString(2)%></td>
<td><%= rs.getString(3)%></td>
<td><%= rs.getString(4)%></td>
<td><%= rs.getString(5)%></td>
<td><%= rs.getString(6)%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
<%@ page import="java.sql.*" %>
<% Class.forName("org.hsqldb.jdbcDriver"); %>
<HTML>
<HEAD>
<TITLE>Fetching Data From a Database</TITLE>
</HEAD>
<BODY>
<H1>Fetching Data From a Database</H1>
<TABLE BORDER="1">
<TR>
<TH>ID</TH>
<TH>Name</TH>
<TH>City</TH>
<TH>State</TH>
<TH>Country</TH>
</TR>
<%
Connection connection = DriverManager.getConnection( "Url", "YourName", "Password");
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
HttpSession s = request.getSession(false);
ResultSet rs = null;
String username = (String)s.getAttribute("username");
String string = (String)request.getAttribute("string");
try {
ps_sel = con.prepareStatement("select * from tasks where username = ? and (tname like ? or tasks like ?)");
ps_sel.setString(1, username);
ps_sel.setString(2, "%"+string+"%");
ps_sel.setString(3, "%"+string+"%");
ps_sel.execute();
rs = ps_sel.getResultSet();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = ps_sel.getResultSet();
while(rs.next())
{
%>
<TR>
<TD> <%= resultset.getString(1) %> </TD>
<TD> <%= resultset.getString(2) %> </TD>
<TD> <%= resultset.getString(3) %> </TD>
<TD> <%= resultset.getString(4) %> </TD>
<TD> <%= resultset.getString(5) %> </TD>
</TR>
<%
}
%>
</TABLE>
</BODY>
</HTML>
jsp 文件中的准备语句在句法上是合法的。但避免使用它们。使用 POJO 编写 java 代码。可以将 jstl 用于相同的目的。如果你是初学者,那么这里使用jstl就是这里的重要学习内容。