美好的一天!
我想知道if-else statement如果要确定搜索是否存在,如何在期望的结果中获得结果。我按照与之相关的先前问题中的建议进行了各种组合,但仍然无法获得想要的东西。
if-else statement
代码1:如果我的搜索为空,则无法到达else语句。
if (resultSet!= null) { while (resultSet.next()) { //MULTIPLE VALUE SEARCH Product product = new Product(); product.setProductId(resultSet.getInt("productId")); product.setProductName(resultSet.getString("productName")); productList.add(product); } request.setAttribute("productList", productList); RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp"); rd.forward(request, response); } else { request.setAttribute("message", "Search Failed"): RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp"); rd.forward(request, response); }
代码2:我也无法到达else语句,其中应显示搜索到的值…
if (!resultSet.next()) { .... Search Failed Message } else { while(result.next()){..... }
代码3:与案例1相同的结果
if (resultSet.wasNull()) { .... Search Failed Message } else { while(result.next()){..... }
我尝试了其他组合,但仍然无法达到我想要的结果,如下所示:当用户搜索一个值时,如果结果集为null,则将显示错误消息,否则,如果搜索不为null,则将进行1或多次搜索被显示。
请给我一个更简单的方法,因为我似乎做错了。
先感谢您..
在代码1中:
if(productList.size() == 0 ){ request.setAttribute("message", "Search Failed"): }else{ request.setAttribute("productList", productList); } RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp"); rd.forward(request, response);
或 更合适的方法 将被设置
if (resultSet!= null) { while (resultSet.next()) { Product product = new Product(); product.setProductId(resultSet.getInt("productId")); product.setProductName(resultSet.getString("productName")); productList.add(product); } request.setAttribute("productList", productList); RequestDispatcher rd = request.getRequestDispatcher("adminViewSearch.jsp"); rd.forward(request, response); }
继续 jsp
jsp
<c:if test="${fn:length(companies) gt 0}"> <!--display collection using c:foreach --> </c:if> <c:if test="${fn:length(companies) eq 0}"> Search failed </c:if>