Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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从类到jsp获取值?_Java_Jsp_Arraylist - Fatal编程技术网

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

Java 如何使用arraylist从类到jsp获取值?,java,jsp,arraylist,Java,Jsp,Arraylist,您好,我在使用arraylist从数据库检索数据时遇到一些问题。我只能获取该列的最后一个条目。这是我的代码。非常感谢您的帮助。谢谢您 这是iam从数据库获取数据的地方 VariableIntialization location = new VariableIntialization(); HttpSession session = request.getSession(); String sql = "SELECT * FROM country";

您好,我在使用arraylist从数据库检索数据时遇到一些问题。我只能获取该列的最后一个条目。这是我的代码。非常感谢您的帮助。谢谢您

这是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");
VariableInitialization位置=新的VariableInitialization();
HttpSession session=request.getSession();
String sql=“选择*来自国家/地区”;
数据库db=新数据库();
PreparedStatement pst=db.getConnection().prepareStatement(sql);
结果集i=pst.executeQuery();
while(i.next()){
字符串country_id=i.getString(1);
字符串国家=i.getString(2);
ArrayList国家/地区=新的ArrayList();
国家。添加(国家);
地点:国家(国家);
位置。设置国家/地区id(国家/地区id);
}
session.setAttribute(“deshopa_country”,地点);
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; }
}
包需求逻辑;
导入java.util.ArrayList;
公共类变量初始化{
私有ArrayList内容=新建ArrayList();
公共国家/地区(ArrayList内容)
{
this.content=内容;
}
public ArrayList 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个选项?@Loc“是,只有一个选项用于最后插入的数据”检查您的servlet代码。你的while循环是错误的,这就是为什么你的位置总是有一个国家。需要将ArrayList国家/地区移动到while/loop之外。@Loc“非常感谢,我尝试了很多,现在工作正常”