0
摘要: 我使用ajax和JSP實現了搜索功能,它運行良好。然後,如果搜索項無法找到,例如「找不到記錄」 。我在我的代碼中放了一條if語句,它似乎工作。後來我意識到if語句正在截斷數據庫中的一些結果,例如,如果我輸入t(沒有if語句),它會給我9條記錄,但if語句讓我喜歡8條記錄,這並不意味着如此。我一直在研究這個問題很長一段時間,但我不能解決問題。搜索數據庫在JSP中未按預期方式顯示
爲了清楚起見,截圖沒有if語句
截圖與if語句包含
這是進行搜索並顯示它的代碼:
<table align="center">
<%@page import="java.sql.*" %>
<%
Connection con;
PreparedStatement ps;
ResultSet rs;
String query;
String se = request.getParameter("se");
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/alumni", "root", "root");
query = "Select * from users where un like '" + se + "%' or fn like '"+se+"%' or ln like '"+se+"%' ";
ps = con.prepareStatement(query);
rs = ps.executeQuery();
//if statement that seems to be causing the problem.
if(rs.next()){
}else{
out.println("No record found for "+se);
return;
}
int k = 0;
while (rs.next()) {
k++;
%>
<tr>
<td class="go" style="width: 608px;border-radius: 6px; height: 44px;">
<a href= 'profile.jsp?un=<%=rs.getString("un")%>' style="text-decoration: none; ">
<div class="search" >
<!-- image -->
<script>
function imgError(image) {
image.onerror = "";
image.src = "images/avatar.jpg";
return true;
}
</script>
<% out.println("<img onerror='imgError(this)' width = 65 height = 55 style='border-radius:5px' src=picView?un=" + rs.getString("un") + ">"
+ "</img>");%>
<div style="display: inline;"> <%=rs.getString("un")%> </div>
<div style="display: inline-block;">
<%=rs.getString("fn")%> <%=rs.getString("ln")%> </div>
</div> </a>
</td>
</tr>
<%
}
}
catch (Exception e) {
out.println("Exception "+e);
}
%>
請注意:if語句放在那裏以通知用戶記錄是否爲n沒有發現,並且它的功能很好。 我知道我不應該使用scriptlets,但是由於某種原因我使用了它。請耐心等待。 謝謝。
沒有更多的腳本請。使用EL。 –
http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files?rq=1 – adarshr