可以从结果集取值但无法在table里面显示,if方法体中的无法显示,else后面的可以显示
if(strStuID==null){
while(rsc.next()){%>
<tr>
<td> <a href="StuDetailOpt.jsp?txtStuID=<%=rs.getString("sID")%>"> <%= rsc. getInt("sID") %> a> td>
<td> <%= rsc.getString("sName") %> td>
<td> <%= rsc.getString("sDept") %> td>
<td><a href="StuModifyIpt.jsp?txtStuID=<%=rsc.getString("sID")%>"> 修改 a>td>
<td><a href="StuDelOpt.jsp?hidNumber=<%=rsc.getInt("sID")%>"> 删除 a>td>
tr>
<% } }
else{
while(rs.next())
{ %>
<tr>
<td> <a href="StuDetailOpt.jsp?txtStuID=<%=rs.getString("sID")%>"> <%= rs . getInt("sID") %> a> td>
<td> <%= rs.getString("sName") %> td>
<td> <%= rs.getString("sDept") %> td>
<td><a href="StuModifyIpt.jsp?txtStuID=<%=rs.getString("sID")%>"> 修改 a>td>
<td><a href="StuDelOpt.jsp?hidNumber=<%=rs.getInt("sID")%>"> 删除 a>td>
tr>
<% }} %>
首先,确认一下代码中的语法错误,应该是">"而不是"%>"。
然后,确认一下取值的变量是否正确,可能是因为变量名不正确导致取不到值。
如果以上两点都没有问题,可以尝试在if语句中添加一些调试信息,比如打印出strStuID的值,看看是否符合预期。
最后,可以尝试重构代码,将if语句中的代码提取出来,单独写成一个方法,然后在else语句中调用这个方法。这样可以避免if语句中的代码出现问题导致整个页面无法正常显示的情况。以下是一个简单的示例代码:
<%
String strStuID = request.getParameter("stuID");
if (strStuID == null) {
showAllStudents();
} else {
showStudentByID(strStuID);
}
void showAllStudents() {
// 查询所有学生并显示在表格中
ResultSet rs = // 执行查询语句
while (rs.next()) {
out.println("<tr><td>" + rs.getString("stuName") + "</td><td>" + rs.getString("stuAge") + "</td></tr>");
}
}
void showStudentByID(String stuID) {
// 根据学生ID查询并显示在表格中
ResultSet rs = // 执行查询语句
if (rs.next()) {
out.println("<tr><td>" + rs.getString("stuName") + "</td><td>" + rs.getString("stuAge") + "</td></tr>");
} else {
out.println("No student found with ID " + stuID);
}
}
%>
但是第二行的宽就没办法定义了
<table border="1px" cellspacing="0" width="300px" style="table-layout:fixed;">
<tr>
<td width="10%">1</td>
<td width="30%">1</td>
<td width="60%">1</td>
</tr>
<tr>
<td width="25%">2</td>
<td width="25%">2</td>
<td width="50%">2</td>
</tr>
</table>