ユーザーに ID の入力を求めるフォームがあります。このフォームはサーブレットに送信され、サーブレットはデータベースをチェックしてユーザーが存在するかどうかを確認します。ユーザーが存在する場合は、注文したアイテムが返されます。注文したアイテムは配列リストとして返されます。次に、この配列リストは JSP ファイルにリダイレクトされ、Web ページに表示されます。ユーザーは複数の注文を持つことができるため、配列リストのサイズは異なる場合があります。配列リストのサイズを取得して、配列リストの各アイテムを表示するにはどうすればよいですか? JSTL は使用しません。
インデックス.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>
}
ベストアンサー1
使用fn:length
関数。
fn
JSPファイルの先頭で名前空間を宣言する
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
コードの後半
${fn:length(collection)}