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