在java中将Arraylist值从servlet传递到JSP?
我试图在java中显示我放在Arraylist中的值,并将其传递到JSP页面,然后在表行中显示它。但是结果以一种非常奇怪的方式显示出来。请帮帮我。我被卡住了 Servlet代码:在java中将Arraylist值从servlet传递到JSP?,java,jsp,servlets,arraylist,Java,Jsp,Servlets,Arraylist,我试图在java中显示我放在Arraylist中的值,并将其传递到JSP页面,然后在表行中显示它。但是结果以一种非常奇怪的方式显示出来。请帮帮我。我被卡住了 Servlet代码: ArrayList al = new ArrayList(); while(rs.next()) { count ++; String country = rs.g
ArrayList al = new ArrayList();
while(rs.next())
{
count ++;
String country = rs.getString("CustomerCountry");
String customerid = rs.getString("CustomerID");
String TitleofAccount = rs.getString("TitleofAccount");
String FirstName = rs.getString("FirstName");
String LastName = rs.getString("LastName");
String City = rs.getString("City");
String Address = rs.getString("Address");
String emailid = rs.getString("EmailID");
String typeofid = rs.getString("TypeOfID");
String Idnumber = rs.getString("IDNumber");
String branchid = rs.getString("BranchID");
String cardnumber = rs.getString("CardNumber");
String bankaccntid = rs.getString("BankAccountID");
String currencyid = rs.getString("CurrencyID");
String isspeciallimit = rs.getString("IsSpecialLimit");
String dailylimit = rs.getString("DayTransactionLimit");
al.add(rs.getString("CardNumber"));
al.add(bankaccntid);
al.add(currencyid);
al.add(rs.getString("DayTransactionLimit"));
al.add(isspeciallimit);
JSP页面:
<table width="700px" align="center" style="border:1px solid #000000;">
<tr>
<td colspan=4 align="center" style="background-color:teal">
<b>User Record</b></td>
</tr>
<tr style="background-color:lightgrey;">
<td><b>Account No</b></td>
<td><b>Card Number</b></td>
<td><b>CurrencyID</b></td>
<td><b>Daily Limit</b></td>
<td><b>Status Limit</b></td>
</tr>
<%
if (request.getAttribute("al")!=null)
{
ArrayList arr = (ArrayList)request.getAttribute("al");
for(int i=0;i<arr.size();i++) {
out.println(arr.get(i) + "<html>  <p></p></html>");
//out.println("<html>  </html>");
}
}
%>
我希望结果显示为:
1st row - kenya, K, 432342423, , 100000.0000, 0,
2nd row - kenya, Kumar11, 78788787878, OOOPP, 100000.0000, 0,
3rd row - kenya, Kb1, 001001000095, KES, 500000.0000, null
CustomerList是从Servlet传递到JSP的arrayList。请记住,JSP的输出是Servlet响应的主体,在本例中是HTML。在开发和测试期间,必须检查生成的输出,仅检查其他程序(例如web浏览器)处理该输出的结果是不够的 我倾向于认为,如果您确实查看了JSP发出的HTML,那么问题会立即变得显而易见,如果它是通过您提供的JSP代码生成的,那么它看起来会像这样
<!-- [...] -->
<tr style="background-color:lightgrey;">
<td><b>Account No</b></td>
<td><b>Card Number</b></td>
<td><b>CurrencyID</b></td>
<td><b>Daily Limit</b></td>
<td><b>Status Limit</b></td>
</tr>
kenya<html>  <p></p></html>
K<html>  <p></p></html>
432342423<html>  <p></p></html>
<html>  <p></p></html>
100000.0000<html>  <p></p></html>
0<html>  <p></p></html>
<!-- [...] -->
帐号
卡号
CurrencyID
每日限额
身份限制
肯尼亚
K 
432342423
 
100000.0000
0
(为清晰起见,添加了换行符。)
这样的代码非常不一致,而且它没有显示您应该使用的HTML结构来表示表格数据(即
和
元素)
另一方面,我看不出您呈现的输出是如何来自您呈现的JSP代码的,无论您是原始呈现还是呈现。输出看起来像是从out.println(arr)
获得的,而不是一次打印一个列表元素
此外,输出似乎也与servlet代码不完全对应,因为它似乎每个记录包含六个数据,而您显示的servlet每个记录只提供五个数据。在“servlet代码”部分的末尾缺少一些代码。请完成它,否则无法准确诊断正在发生的事情。我有我的假设,但盲目猜测是没有意义的。
<!-- [...] -->
<tr style="background-color:lightgrey;">
<td><b>Account No</b></td>
<td><b>Card Number</b></td>
<td><b>CurrencyID</b></td>
<td><b>Daily Limit</b></td>
<td><b>Status Limit</b></td>
</tr>
kenya<html>  <p></p></html>
K<html>  <p></p></html>
432342423<html>  <p></p></html>
<html>  <p></p></html>
100000.0000<html>  <p></p></html>
0<html>  <p></p></html>
<!-- [...] -->