一尘不染

如何在Java JSP中获取数组列表大小?

jsp

我有一个要求用户输入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>

}

阅读 356

收藏
2020-06-08

共1个答案

一尘不染

使用fn:length功能。

fn在JSP文件的开头声明名称空间

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

稍后在代码中

${fn:length(collection)}
2020-06-08