Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 在jsp页面上显示ArrayList_Java_List_Jsp_Select_Arraylist - Fatal编程技术网

Java 在jsp页面上显示ArrayList

Java 在jsp页面上显示ArrayList,java,list,jsp,select,arraylist,Java,List,Jsp,Select,Arraylist,我在jsp上有一个CRUD(创建、读取、更新、删除)项目。我没有使用Servlet,因为我只有一个自己创建的表。 我编写了关于在DB中显示所有用户的所有代码(visualizezautenti()方法)。不过,我还是不知道如何在jsp scriplet中调用该函数。与jdbc的连接在本地主机上运行良好:它位于一个名为dbutily的封装类中。删除和插入查询也可以工作。有人能帮忙吗?下面是我的代码 public List<Utente> visualizzaUtenti() {

我在jsp上有一个CRUD(创建、读取、更新、删除)项目。我没有使用Servlet,因为我只有一个自己创建的表。 我编写了关于在DB中显示所有用户的所有代码(visualizezautenti()方法)。不过,我还是不知道如何在jsp scriplet中调用该函数。与jdbc的连接在本地主机上运行良好:它位于一个名为dbutily的封装类中。删除和插入查询也可以工作。有人能帮忙吗?下面是我的代码

public List<Utente> visualizzaUtenti() {
    List<Utente> utenti = new ArrayList<Utente>();
    try {
        Statement statement = connessione.createStatement();
        ResultSet rs = statement.executeQuery("SELECT * FROM tbldatiutenti");
        while (rs.next()) {
            Utente utente = new Utente();
            utente.setId(rs.getString("id"));
            utente.setNome(rs.getString("nome"));
            utente.setCognome(rs.getString("cognome"));   
            utente.setEmail(rs.getString("email"));
            utente.setGenere(rs.getString("genere"));
            System.out.println("Visualizzazione effettuata");
            utenti.add(utente);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return utenti;
}
public List visualizezautenti(){
List-uti=new-ArrayList();
试一试{
语句Statement=connessione.createStatement();
ResultSet rs=statement.executeQuery(“从TBLDATIENTI中选择*);
while(rs.next()){
中尉中尉=新中尉();
setId(rs.getString(“id”);
setNome中尉(rs.getString(“nome”);
setCognome(rs.getString(“cognome”);
setEmail(rs.getString(“电子邮件”));
setGenere(rs.getString(“genre”);
System.out.println(“Visualizazione effettuata”);
添加(unte);
}
}捕获(SQLE异常){
e、 printStackTrace();
}
返回utenti;
}

提前感谢。

在发布此类问题之前,请您自己进行搜索,有很多解决方案可供选择

如下所示使用jsp:useBean和c:forEach循环,并在setUtenti()中初始化bean值



希望这能有所帮助。

使用JSTL核心库作为c:forEach标记,稍后您将在示例中看到

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

需要进口吗

<%@page import="java.util.List"%>
<%@page import="your.package.DBUtiliy"%>
<%@page import="your.package.Utente"%>

<%
    // make an object of the class
    DBUtiliy dbUtiliy= new DBUtiliy();
    List<Utente> listOfUtente= dbUtiliy.visualizzaUtenti();
%>

然后您只需要迭代这些项

<div>
        <ul>
            <c:forEach items="<%=listOfUtente%>" var="utente">

                <li>${utente.someProperty}</li>

            </c:forEach>
        </ul>
    </div>

  • ${utene.someProperty}

最佳实践是在JSP中使用servlet,而不是使用Scriptlet,您将执行以下操作:

@WebServlet(name = "SampleServlet", urlPatterns = {"/sample"})
public class SampleServlet extends HttpServlet {

//your visualizzaUtenti() method code goes here

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
 request.setAttribute("utenti", visualizzaUtenti());
 RequestDispatcher dispatcher = request
                   .getRequestDispatcher("/YourJSPPage.jsp");  
   if (dispatcher != null){  
      dispatcher.forward(request, response);  
   }
 }
}
<table>
  <tr><th>Id</th> <th>Nome</th> <th>Cognome</th> <th>Email</th> <th>Genere</th></tr>
  <c:forEach var="utente" items="${utenti}">
    <tr>
      <td><c:out value="${utente.id}" /></td>
      <td><c:out value="${utente.nome}" /></td>
      <td><c:out value="${utente.cognome}" /></td>
      <td><c:out value="${utente.email}" /></td>
      <td><c:out value="${utente.genere}" /></td>
    </tr>
  </c:forEach>
</table>
在JSP中,您可以执行以下操作:

@WebServlet(name = "SampleServlet", urlPatterns = {"/sample"})
public class SampleServlet extends HttpServlet {

//your visualizzaUtenti() method code goes here

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
 request.setAttribute("utenti", visualizzaUtenti());
 RequestDispatcher dispatcher = request
                   .getRequestDispatcher("/YourJSPPage.jsp");  
   if (dispatcher != null){  
      dispatcher.forward(request, response);  
   }
 }
}
<table>
  <tr><th>Id</th> <th>Nome</th> <th>Cognome</th> <th>Email</th> <th>Genere</th></tr>
  <c:forEach var="utente" items="${utenti}">
    <tr>
      <td><c:out value="${utente.id}" /></td>
      <td><c:out value="${utente.nome}" /></td>
      <td><c:out value="${utente.cognome}" /></td>
      <td><c:out value="${utente.email}" /></td>
      <td><c:out value="${utente.genere}" /></td>
    </tr>
  </c:forEach>
</table>

Id Nome Cognome电子邮件genre

我不确定自己是否理解正确。您想知道如何在JSP中调用
Visualizautenti()
函数吗?是的。我想调用它(对不起,我的英语)并在我的jsp上显示所有结果。