Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将Arraylist值从servlet传递到JSP?_Java_Jsp_Servlets_Arraylist - Fatal编程技术网

在java中将Arraylist值从servlet传递到JSP?

在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

我试图在java中显示我放在Arraylist中的值,并将其传递到JSP页面,然后在表行中显示它。但是结果以一种非常奇怪的方式显示出来。请帮帮我。我被卡住了

Servlet代码:

    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>&nbsp&nbsp<p></p></html>");
            //out.println("<html>&nbsp&nbsp</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
  • 在Servlet/Java中-将所有字段包装成一个对象,说“Customer”
  • 在JSP中使用JSTL,参考此示例

    
    


  • 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>&nbsp&nbsp<p></p></html>
    K<html>&nbsp&nbsp<p></p></html>
    432342423<html>&nbsp&nbsp<p></p></html>
     <html>&nbsp&nbsp<p></p></html>
    100000.0000<html>&nbsp&nbsp<p></p></html>
    0<html>&nbsp&nbsp<p></p></html>
    
    <!-- [...] -->
    
    
    帐号
    卡号
    CurrencyID
    每日限额
    身份限制
    肯尼亚

    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>&nbsp&nbsp<p></p></html>
    K<html>&nbsp&nbsp<p></p></html>
    432342423<html>&nbsp&nbsp<p></p></html>
     <html>&nbsp&nbsp<p></p></html>
    100000.0000<html>&nbsp&nbsp<p></p></html>
    0<html>&nbsp&nbsp<p></p></html>
    
    <!-- [...] -->