【发布时间】:2014-12-02 23:00:01
【问题描述】:
我正在尝试通过 s:property 标记将从操作类中的数据库接收到的各种值打印到 JSP 页面。但是它只显示一个值。
动作类:
ResultSet r = st.executeQuery("select unique(emailid) from pagequery");
while (r.next()) {
uniquemail=r.getString(1);
}
JSP 页面: JSP 页面应该显示所有唯一的电子邮件 ID。但它只显示第一个。
<td>
<s:property value="uniquemail"/>
</td>
【问题讨论】:
-
while (r.next()) { uniquemail=r.getString(1);这对你来说似乎是正确的方法吗?您将在每次迭代中使用新值覆盖一个简单变量。使用 List 或数组,并向其中添加新元素,否则您将始终只存储最后一个迭代值。然后在 JSP 中使用迭代器来呈现您的集合。 -
还是个业余爱好者。我可以像 Array(Java.sql.Array)uniquemail=r.getString(1); 一样使用它吗? ?我在上面创建了 getter 和 setter。
-
使用
List<String>,或String[]。它充满了关于如何从那里开始的好例子,我建议你在接触新东西之前总是至少浪费几分钟,以检查是否有例子或最佳实践或通用方法来做这件事。这将节省您的时间、您的头痛,并可能节省您的工作:) -
如果你能给我完整的代码作为答案会很棒。