일부 텍스트 필드를 데이터베이스의 데이터베이스로 유지하려는 데이터가 있습니다. 나는 db로부터 데이터를 얻는 메소드를 생성한다. 나는 open-account.jsp 페이지를 가지고 있는데, 여기서 서블릿에서 get 메소드를 사용하기 위해 이름, 성 및 이메일이 이미 데이터베이스에서 미리 채워져있는 양식이있다. 서블릿에서 jsp 페이지로 데이터를 보내려고하면 해당 필드는 null입니다. 서블릿에서 jsp로 데이터를 전달하지 않는다고 생각합니다. 확실하지 않습니다. 여기 내 코드입니다 :서블릿에서 jsp의 텍스트 필드 데이터 채우기
데이터베이스 클래스 :
public static ArrayList getUsers()
{
ArrayList<Users> userList = new ArrayList<>();
try
{
DBConnection.connectToDB();
String query = "SELECT * FROM userlogin";
stmt = DBConnection.conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
while(rs.next())
{
Users user = new Users();
user.setFirstName(rs.getString("firstname"));
user.setLastName(rs.getString("lastname"));
user.setEmail(rs.getString("email"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
userList.add(user);
}
}
catch(Exception e)
{
System.out.println(e);
}
return userList;
}
오픈 account.jsp의
<!DOCTYPE html>
<html>
<head>
<title>Open Account</title>
</head>
<body>
<h3>Please fill in the details</h3>
<form name="openAccount" action="OpenAccount" method="GET">
<!-- in openaccount servlet, we will get the users info and fill some
of the forms below for them -->
First Name: <input type="text" name="firstname" value= <%= request.getAttribute("Users.getFirstName()") %> > <br/><br/>
Last Name: <input type="text" name="lastname"> <br/><br/>
Email: <input type="text" name="email"> <br/><br/>
</form>
<form name="chooseAccount" action="OpenAccount" method="POST">
Select the type of account:
<select name="accounttype">
<option>Checking</option>
<option>Saving</option>
<option>Money Market</option>
<option>Credit Card</option>
</select> <br/><br/>
Please check the box if everything above is complete:
Agree <input type="radio" name="agree" value="Agree">
Disagree <input type="radio" name="agree" value="Disagree">
<br/><br/>
<input type="submit" value="submit" name="Submit">
</form>
</body>
</html>
OpenAccount의 serlvet
@WebServlet("/OpenAccount")
public class OpenAccount extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
ArrayList<Users> userList = DBConnection.getUsers();
request.setAttribute("Users", userList);
RequestDispatcher dispatcher = request.getRequestDispatcher("open-account.jsp");
dispatcher.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
}
}