如何使用arraylist从类到jsp获取值?

时间:2013-12-27 19:15:56

标签: java jsp arraylist

嗨我在使用arraylist.i从数据库中检索数据时遇到了一些问题。我只能得到该列的最后一个条目。我的代码是任何帮助都表示赞赏。谢谢你提前。

这是iam从数据库中提取数据的地方

VariableIntialization location = new VariableIntialization();
            HttpSession session = request.getSession();
          String sql = "SELECT * FROM country";
        Database db= new Database();
                          PreparedStatement pst = db.getConnection().prepareStatement(sql);
                         ResultSet i = pst.executeQuery();

                            while (i.next()) {
                                String country_id = i.getString(1);
                                String country = i.getString(2);
                            ArrayList<String> countries = new ArrayList<String>();
                                countries.add(country);
                                location.setcountry(countries);
                                location.setcountry_id(country_id);
                            }
    session.setAttribute("deshopa_country", location);
                response.sendRedirect("admin/stateadd.jsp");

这是我的.java类,数据进入..

package requirementlogic;

import java.util.ArrayList;

public class VariableIntialization {
    private ArrayList<String> content =new ArrayList<String>();
        public void setcountry(ArrayList<String> content)
                    {
                        this.content = content;

                    }
                 public ArrayList<String> getcountry() { return content; }
}

这是我想要显示数据的jsp页面

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
 <%@ page import = "requirementlogic.*"  %>
 <%@ page import = "java.util.ArrayList" %>
      <%VariableIntialization ds_country =(VariableIntialization)session.getAttribute("deshopa_country"); %>

    <% ArrayList<String> desham =new ArrayList<String>();
            desham = ds_country.getcountry();

<html>
<body>
<form method="get" action="../State" name="location" id="location">
<%if(session.getAttribute("deshopa_country") != null){ %>
<div class="span2"><select name="country_ref" id="country_ref" class="clear">
<%for(int i=0; i<desham.size() ;i++){ %>
<option><%=desham.get(i)%></option>

<%} %>
</select></div>
<%} %>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这里每次你创建一个新的国家列表,因为它被添加到循环中声明它在你的循环之外,所以结果集被添加到列表中。因为你在里面添加它总是得到一个新的列表只有一个国家的条目