私は、MySQLデータベースのエントリを更新するフォームを作成しようとしています。テーブルは、ユーザーに関連するさまざまなフィールドを含むユーザーテーブルです。このページは、前のページから渡されたユーザー名を取得し、既存のデータでテキストフィールドをあらかじめ入力する更新フォームとして機能する必要があります。これは、プレゼンテーション、トランスポート、およびデータレイヤーを使用するモデル1アプリケーションです。トランスポート層はUser.javaで、データ層(データベースと対話する)はUserDB.javaです。フォームのテキストフィールドを.jspのデータベースの情報で事前入力するにはどうすればよいですか?
ここにコードがありますが、すべては事前充填以外は機能しています。
更新:以下の回答からの変更を反映するように編集しました。また、「UserDB.getUsers()」がArrayListを返すことにも注意してください。
<%@ page language="java" contentType="text/html; charset=iso-8859-1"
pageEncoding="ISO-8859-1" import="java.util.ArrayList,beans.*,data.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
//get parameters from the request
String userName = request.getParameter("userName");
ArrayList userList = UserDB.getUsers(userName);
User user = userList.get(0);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="styles/style.css" type="text/css" />
<title>User Admin</title>
</head>
<body>
<div id="main">
<h1>Update User</h1>
<h3>User Info</h3>
<hr>
<div id="content">
<form action="updateUser.jsp" method="get">
<p>User Name<br>
<input type="text" name="userName" size="20" value="<%=userName%>"/>
</p>
<p>Password<br>
<input type="text" name="password" size="20" value="<%=user.getPassword()%>"/>
</p>
<p>First Name<br>
<input type="text" name="firstName" size="20" value="<%=user.getFirstName()%>"/>
</p>
<p>Last Name<br>
<input type="text" name="lastName" size="20" value="<%=user.getLastName()%>"/>
</p>
<p>Email Address<br>
<input type="text" name="email" size="20" value="<%=user.getEmail()%>"/>
</p>
<p>
<input type="submit" value="Commit Update">
</p>
</form>
</div>
</div>
</body>
</html>
私は "user"オブジェクトに何か間違っていると知っていますが、私はそれを見落としています。
これは1つのエラー、感謝でした!私はまだエラーが発生している: "エラーが発生した行:8のJSPファイル:/updateForm.jsp ユーザーは変数に解決できません"私は "ユーザー"を定義する必要があると言われた、私はしていないそれをどうやって行うのか。 – Ferret
はい、そのあなたが 'ユーザのユーザ= UserDB.getUsers(ユーザー名)を言う必要が ...タイプ' User'の変数を宣言する等; ' あなたも(JSPでユーザークラスをインポートする必要があります{%@ page import = ""%> –
ありがとう、私はそれを今更新しました。 \t \t \tユーザーユーザー= UserDB.getUsers(ユーザー名); %> 'まだ動作していません。 'UserDB.getUsers'はArrayListを返します。エラーは" jspファイルの9行目でエラーが発生しました:/updateForm.jsp 型不一致:ArrayListからユーザに変換できません " –
Ferret