我有一个要求用户输入ID的表格。将此表单发送到Servlet,该Servlet检查数据库以查看用户是否存在。如果用户存在,则将我的订购商品发回给我。有序项目将作为数组列表返回。然后,此数组列表将重定向到jsp文件以在网页上显示它。用户可以拥有一个以上的订单,因此阵列列表的大小可以变化。如何获取数组列表的大小,以便可以显示数组列表中的每个项目?我不想使用JSTL。
index.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <script> /*function signin(id, id2) { document.getElementById(id).style.display = 'block'; document.getElementById(id2).style.display = 'none'; //document.getElementById(id3).style.display = 'none'; }*/ </script> <form id="Signin" method="post" action="FindUser"> <h2>Login </h2> <input type="text" name="txtCustID" placeholder="UserID"><br> <br><input type="submit" value="Find"> </form> <%--!<form id="Signup" method="post" action="FindUser" style="display:none;"> <h2>Sign Up </h2> <input type="text" name="UserId" placeholder="User ID"><br> <br><input type="text" name="FirstaName" placeholder="First Name"><br> <br><input type="text" name="LastName" placeholder="Last Name"><br> <br><input type="text" name="Street" placeholder="Street"><br> <br><input type="text" name="City" placeholder="City"><br> <br><input type="submit" value="Sign Up"> </form> --%> </body>
FindUser.java:
public class FindUser extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String sID = request.getParameter("txtCustID"); String url = ("admin/UserFound.jsp"); try { Users one = UserDAO.findUser(sID); request.setAttribute("theCustomer", one); if (one.getFirstName().equals("none")) { url = "admin/UserNotFound.jsp"; } ArrayList user_order = UserDAO.findOrder(sID); request.setAttribute("theOrder", user_order); response.sendRedirect(url); //RequestDispatcher rd = request.getRequestDispatcher(url); //rd.forward(request, response); } catch (ClassNotFoundException e) { System.err.print("Failed to load Driver"); System.err.print(e); } catch (SQLException e) { System.err.print("SQL Error" + e); System.err.print("SQL State: " + e.getSQLState()); System.err.print("Error Code: " + e.getErrorCode()); } catch (Exception e) { System.err.println(e); } }
UserFound.jsp:
<%-- Document : CustomerFound Created on : Nov 15, 2014, 9:40:47 PM Author : mississauga --%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <p>First word is: ${theOrder[x].getBoxes()}</P> <%--<form id="Signin" method="post" action="FindUser" style="display:none;"> <h2>Login </h2> <input type="text" name="txtCustID" placeholder="UserID"><br> <br><input type="submit" value="Find"> </form> --%> </body> </html> }
使用fn:length功能。
fn:length
fn在JSP文件的开头声明名称空间
fn
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
稍后在代码中
${fn:length(collection)}