指定されたフィールドにデータを入力するデータベースに接続する Web アプリに取り組んでいます。これは基本的にnetbeans チュートリアルの編集です。さて、私はすでにデータベースをセットアップし、応答ページのテーブルにすべての情報を入力してテストしました。リストから表示するタイトルの 1 つを選択すると、index.jsp で問題が発生します。ID 番号の代わりにタイトルを使用して書籍を選択しました。
SELECT titlefk FROM BookList
それ以外の:
SELECT id, titlefk FROM BookList
ドロップダウン ボックスには ID とタイトルの両方が選択肢として表示されるためです。本のタイトルを選択して送信キーをクリックすると、次のページにデータベースからの対応する情報が入力されます。
サイトの写真: http://imgur.com/a/kVEMN
上記の表は、データベースが接続されていることを確認するための一時的な手段です。データベースで 3 番目のオプションを選択しましたが、response.jsp には最初の本の情報が取り込まれ続けています。コードに何が欠けているのかわかりませんが、誰かが私を正しい方向に向けてくれることを願っています.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<sql:query var="books" dataSource="jdbc/IFPBOOKLISTRT">
SELECT titlefk FROM BookList
</sql:query>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<title>IFPBOOKLIST Homepage</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h1>Welcome to IFPBOOKLIST, My Personal Book Selection</h1>
<table border="0">
<thead>
<tr>
<th>Here you will find my personal books to-do list</th>
</tr>
</thead>
<tbody>
<tr>
<td>To view details, select a book below</td>
</tr>
<tr>
<td><form action="response.jsp">
<strong>Select a book:</strong>
<select name="subject_id">
<c:forEach var="row" items="${books.rowsByIndex}">
<c:forEach var="column" items="${row}">
<option value="<c:out value="${column}"/>"><c:out value="${column}"/></option>
</c:forEach>
</c:forEach>
</select>
<input type="submit" value="submit" name="submit" />
</form>
</td>
</tr>
</tbody>
</table>
</body>
そして、これがresponse.jspです
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<sql:query var="bookQuery" dataSource="jdbc/IFPBOOKLISTRT">
SELECT * FROM BookList,Book
WHERE Book.id=BookList.id
</sql:query>
<c:set var="bookDetails" value="${bookQuery.rows[0]}"/>
<table border="1">
<!-- column headers -->
<tr>
<c:forEach var="columnName" items="${bookQuery.columnNames}">
<th><c:out value="${columnName}"/></th>
</c:forEach>
</tr>
<!-- column data -->
<c:forEach var="row" items="${bookQuery.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td><c:out value="${column}"/></td>
</c:forEach>
</tr>
</c:forEach>
</table>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<title>${bookDetails.title}</title>
</head>
<body>
<table border="0">
<thead>
<tr>
<th colspan="2">${bookDetails.title}</th>
</tr>
<tr>
<td>Edition: <a href="placeholder">${bookDetails.edition}</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<strong>Description: </strong>
</td>
<td>
{placeholder}
</td>
<link rel="stylesheet" type="text/css" href="style.css">
</tr>
<tr>
<td>
<strong>Publisher </strong>
</td>
<td>
${bookDetails.publisher}
</td>
</tr>
<tr>
<td>
<strong>
Published Date
</strong>
</td>
<td>
${bookDetails.datePublished}
</td>
</tr>
<tr>
<td>
<strong>Author </strong>
</td>
<td>
${bookDetails.author}
</td>
</tr>
<tr>
<td>
<strong>isbnNumber </strong>
</td>
<td>
<a href="placeholder">${bookDetails.isbnNumber}</a>
<br>
</td>
</tr>
<tr>
<td>
<strong>Amazon Link: </strong></td>
<td>
<a href="placeholder">${bookDetails.amazonLink}</a>
<br>
</td>
</tr>
</tbody>
</table>
</body>