0

我想从 java tp 中的 hashmap 的数据库中的表中发送多个值 tp 一个 jsp 文件。这是我到目前为止所做的

    ResultSet rs = st.executeQuery("SELECT * FROM seeding where scheme = '"+user+"' "); 
    HashMap<String, String> verify = new HashMap<String, String>();
    while (rs.next())
    {
    verify.put("beneficiaryID",rs.getString("beneficiaryID"));
    verify.put("scheme", rs.getString("scheme"));
    verify.put("aadhaar",rs.getString("aadhaar"));
    verify.put("name",rs.getString("name"));
    }
    request.setAttribute("verify", verify);

jsp >>

<%
HashMap<String, String> verify = (HashMap<String, String>) 
request.getAttribute("verify");
for (String key : verify.keySet())  
{ 
out.print(verify.get("aadhaar"));
out.print(verify.get("scheme"));
out.print(verify.get("beneficiaryID")+"$"+verify.get("name"));
}

但这只会给出表格的最后一行而不是所有结果!需要改变什么?谢谢

4

2 回答 2

1

考虑这段代码:

HashMap<String, String> verify = new HashMap<String, String>();
while (rs.next())
{
    verify.put("beneficiaryID",rs.getString("beneficiaryID"));
    verify.put("scheme", rs.getString("scheme"));
    verify.put("aadhaar",rs.getString("aadhaar"));
    verify.put("name",rs.getString("name"));
}

每次通过循环,即针对数据库中的每一行或每个结果集行,您将相同的条目放入Map具有新值的条目中。

每一行都会覆盖前一行。

您无法将它们从 JSP 中取出,因为您覆盖了除最后一个之外的所有内容。

有几种解决方案。我将创建一个具有 4 个属性的 POJO 类,并将每行结果放在一个列表中。但是,让我们使用您的地图创意:

List results = new ArrayList<Map<String, String>>();
while (rs.next())
{
    Map<String, String> verify = new HashMap<String, String>();
    verify.put("beneficiaryID",rs.getString("beneficiaryID"));
    verify.put("scheme", rs.getString("scheme"));
    verify.put("aadhaar",rs.getString("aadhaar"));
    verify.put("name",rs.getString("name"));
    results.add(verify);
}
 request.setAttribute("verify", results);

现在您必须稍微更改一下 JSP(其中包含丑陋的 Java 代码):

<%
List<Map<String, String>> results = (List<Map<String, String>>)request.getAttribute("verify");
for (Map<String, String> verify: results) {
{ 
    out.print(verify.get("aadhaar"));
    out.print(verify.get("scheme"));
    out.print(verify.get("beneficiaryID")+"$"+verify.get("name"));
}
%>
于 2013-07-08T18:03:47.877 回答
0

需要改变什么?

代码!数据结构应该是一个 Map of beneficiaryId-> BeneficiaryModel( 一个代表Beneficiary模型的类

Map是值的唯一键的结构

不要在jsp中使用java代码

于 2013-07-08T17:59:41.657 回答