数组结果不断获得最后的结果

时间:2016-09-22 13:44:37

标签: java jsp servlets

我把部分代码放在了我认为是问题的根源但我无法弄清楚为什么我现在在StackOverFlow。无论如何,这个类是我设置数据并将其传递给数组的地方。

public ArrayList<select.rates> caseGetRates() throws RateTableException, SessionDisconnectedException {

    try {
        for(int i=0;i < arrayRate.size();i++){
             ArrayList<select.rates> arr = new ArrayList<select.rates>();
             this.setPair(array[0]);
             this.setBid((array[2]));
             this.setAsk((array[3]));
             arr.add(this);
        }
        return arr;
      } finally{}
 }

当我System.out.print我在这个课程中设置的数据时,它给了我:

EUR/USD
1.12372
1.12384

USD/JPY
100.622
100.641 

这是正确的,我希望它显示在我的网页上。但是当我将数据传递给我的Servlet

try {
    ArrayList<select.rates> rates = example.caseGetRates();

    for(int i=0;i < rates.size();i++){
        System.out.println("");
        System.out.println(rates.get(i).getPair());
        System.out.println(rates.get(i).getBid());
        System.out.println(rates.get(i).getAsk());
    }
    request.setAttribute("rates", rates);
} 
request.getRequestDispatcher("/NewFile.jsp").forward(request, response);

我在Servlet上得到的结果是:

USD/JPY
100.622
100.641

USD/JPY
100.622
100.641

结果会循环两次,但数据似乎被覆盖了,我仍然无法弄清楚为什么会发生这种情况。我希望有人可以指出我的错误。

1 个答案:

答案 0 :(得分:0)

在for循环

之外创建@Html.ActionLink("Back to admin tools", "Adminpanel", "Admin") @using (Html.BeginForm()) { <p>AWB: @Html.TextBox("SearchAWB") Mottaker: @Html.TextBox("SeachRecipient") <input type="submit" value="Filter"/></p> } 个对象

并在for循环中创建要添加到ArrayList

的新Object
ArrayList