xml ファイルを読み取り、その内容をテーブル形式で表示し、データをデータベース テーブルに保存する必要があります。まず、jsp で jstl1.2 タグを使用してデータのみを表示しようとしました。正常に動作しています。しかし、レコードを挿入するコードを実装しようとすると、このエラーが発生します..
Can't infer the SQL type to use for an instance of org.apache.taglibs.standard.tag.common.xml.JSTLNodeList. Use setObject() with an explicit Types value to specify the type to use.
私のJspコードは次のとおりです。
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<sql:setDataSource var="dataSource" driver="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/postgres" user="postgres" password="shail"
scope="session" />
<html>
<head>
<title>cust_xml</title>
</head>
<body>
<h1>Customer Information</h1>
<c:import var="xmlFile" url="cust.xml" charEncoding="UTF-8"/>
<x:parse var="myDoc" xml="${xmlFile}" />
<table border="1">
<tr>
<th>Customer Number</th>
<th>First Name</th>
<th>Last Name</th>
<th>Street</th>
<th>City</th>
<th>State</th>
<th>Zipcode</th>
<th>Balance</th>
</tr>
<x:forEach select="$myDoc/CUSTOMERS/Customer" var="cust">
<tr>
<td>
<x:out select="$cust/CustNo" />
<x:set var="custno" select="$cust/CustNo" scope="session"/>
</td>
<td>
<x:out select="$cust/CustFirstName" />
<x:set var="custfn" select="$cust/CustFirstName" scope="session"/>
</td>
<td>
<x:out select="$cust/CustLastName" />
<x:set var="custln" select="$cust/CustLastName" scope="session"/>
</td>
<td>
<x:out select="$cust/CustStreet" />
<x:set var="custst" select="$cust/CustStreet" scope="session"/>
</td>
<td>
<x:out select="$cust/CustCity" />
<x:set var="custcity" select="$cust/CustCity" scope="session"/>
</td>
<td>
<x:out select="$cust/CustState" />
<x:set var="custstate" select="$cust/CustState" scope="session"/>
</td>
<td>
<x:out select="$cust/CustZip" />
<x:set var="custz" select="$cust/CustZip" scope="session"/>
</td>
<td>
<x:out select="$cust/CustBal" />
<x:set var="custbal" select="$cust/CustBal" scope="session"/>
</td>
</tr>
</x:forEach>
</table>
<sql:update dataSource="${dataSource}" var="updatedTable">
INSERT INTO data VALUES (?,?,?,?,?,?,?,?);
<sql:param value="${custno}" />
<sql:param value="${custfn}" />
<sql:param value="${custln}" />
<sql:param value="${custst}" />
<sql:param value="${custcity}" />
<sql:param value="${custstate}" />
<sql:param value="${custz}" />
<sql:param value="${custbal}" />
</sql:update>
<c:if test="${updatedTable>=1}">
<font size="5" color='green'> Congratulations ! Data inserted successfully.</font>
</c:if>
</body>
</html>
クエリ パラメータを挿入するための値を設定するには、どのタグを使用すればよいか提案してください。クエリパラメータに設定するxml要素データを取得する方法は? ありがとうございます。それでは、お元気で