Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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 使用bean和servlet显示数据_Java_Jsp - Fatal编程技术网

Java 使用bean和servlet显示数据

Java 使用bean和servlet显示数据,java,jsp,Java,Jsp,我还在学习开发网络应用。我偶然发现了这个教程 EmpBean.java package form; import java.sql.*; import java.util.*; public class EmpBean { public List dataList(){ ArrayList list=new ArrayList(); try{ Class.forName("com.mysql.jdbc.Driver"); Connection con = Dri

我还在学习开发网络应用。我偶然发现了这个教程

EmpBean.java

package form;
import java.sql.*;
import java.util.*;
public class EmpBean {

public List dataList(){
ArrayList list=new ArrayList();
try{
     Class.forName("com.mysql.jdbc.Driver");
           Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
           Statement st=con.createStatement();
           ResultSet rs=st.executeQuery("select * from employee");
           while(rs.next()){
               list.add(rs.getString("name"));
               list.add(rs.getString("address"));
               list.add(rs.getString("contactNo"));
               list.add(rs.getString("email"));

}
}
catch(Exception e){}
return list;

}
}
BeanServlet.java

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class BeanInServlet extends HttpServlet{
    protected void doGet(HttpServletRequest req, HttpServletResponse res)
        throws ServletException, IOException{
        form.EmpBean p = new form.EmpBean();
        List list=p.dataList();

        req.setAttribute("data", list);
        RequestDispatcher rd = req.getRequestDispatcher("/jsp/beandata.jsp");
        rd.forward(req, res);
    }
}
Beanda.jsp

<%@page language="java" import="java.util.*" %>
<html>
<body> 
<table border="1" width="303">
<tr>
<td width="119"><b>Name</b></td>
<td width="168"><b>Address</b></td>
<td width="119"><b>Contact no</b></td>
<td width="168"><b>Email</b></td>
</tr>
<%Iterator itr;%>
<% List data= (List)request.getAttribute("data");
for (itr=data.iterator(); itr.hasNext(); ){
%>
<tr>
<td width="119"><%=itr.next()%></td>
<td width="168"><%=itr.next()%></td>
<td width="168"><%=itr.next()%></td>
<td width="168"><%=itr.next()%></td>
</tr>
<%}%>
</table>
</body>
</html>

名称
地址
联系电话
电子邮件

我用netbeans试过了,效果很好。。然而,我想知道是否可以使用JSTL来表示数据(视图)。

c:foreach是您需要的。当然,这是假设你的列表是4的倍数。这是从内存中完成的,所以我不能保证不会有语法错误

<table>
<c:foreach var="item" varStatus="status" items="${requestScope.data}">
 <c:choose>
  <c:when test="${status.index % 4 == 0}">
   <tr>
   <td width="119"><c:out value="${item}" /></td>
  </c:when>
  <c:otherwise>
   <td width="168"><c:out value="${item}" /></td>
  </c:otherwise>   
 </c:choose>
 <c:if test="${status.index % 4 == 3}">
  </tr>
 </c:if>
</c:foreach>
</table>


jdbc连接的一个例子将非常有用。。。感谢allAn的JDBC连接示例?您在JDBC连接中使用了相同的方法,答案是“是”。请阅读另一篇关于JSTL的教程。很抱歉造成混淆。。仅说明如何使用jstl@toink:首先要考虑的是,您的列表中包含同一级别的每个记录的每个值。这很难处理,而且容易出错。考虑创建一个VO类,并使用它存储每个元素的数据,然后将它们添加到列表中。