jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
联系人列表 | ||||
新增联系人 | ||||
姓名 | 电话 | 邮箱 | 关系 | 操作 |
删除 | ||||
删除 | ||||
删除 | ||||
删除 |
servlet页面:
package Servlet;
import impl.ContactsDaoImpl;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import dao.ContactsDao;
import entity.Contacts;
public class SelectAll extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//处理乱码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
//得到httpsession对象
HttpSession session=request.getSession();
//得到数组的值
String[] name=request.getParameterValues("name");
String[] phone=request.getParameterValues("phone");
String[] email=request.getParameterValues("email");
String[] contact=request.getParameterValues("contact");
//调用接口的实现方法;
ContactsDao contactsdao=new ContactsDaoImpl();
List<Contacts> list=contactsdao.selectAll();
if (list!=null) {
session.setAttribute("name", name);
response.sendRedirect("show.jsp");
}
}
}
接口的实现方法类页面:
package impl;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import dao.BaseDao;
import dao.ContactsDao;
import entity.Contacts;
public class ContactsDaoImpl extends BaseDao implements ContactsDao {
//查询所有
public List selectAll() {
List list=new ArrayList();
String sql="select * from Contacts";
Contacts contacts=null;
//调用basedao中的公共方法;
rs=this.executeQuery(sql, null);
try {
while (rs.next()) {
contacts=new Contacts(rs.getString("name"), rs.getString("phone"), rs.getString("email"), rs.getString("contact"));
list.add(contacts);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
this.closeAll(con, pstm, rs);
}
return list;
}
}
你试试我的
Arraylist<> a =.....;//你的处理结果
PrintWriter pw = response.getWriter();
pw.println(a);// 前台servlet请求之后 无返回值就这样。 有返回值可以用ajax
希望对你有用
表单提交 前端ajax,后台servlet 直接 return你的list 结果。 请求的数据 在ajax 成功的success 属性里面的 data里面
上面说的ajax 异步获取数据,如果不用异步可以将集合放到session 到jsp页面在去出来,怎么显示方式很多可以百度一下
if (list!=null) {
session.setAttribute("list", list);
response.getRequestDispatcher("show.jsp").forward(request,response);;
}
然后在show.jsp 中用jstl标签迭代list;
${listTest.name}
${listTest.phone}
${listTest.email}
${listTest.contact}
/c:forEach
if (list!=null) {
session.setAttribute("list", list);
response.getRequestDispatcher("show.jsp").forward(request,response);;
}
在页面中先引入一个c标签
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
这个在JSP中的html外边
然后在你想要放集合的位置写一个循环
user.name
user.phone
user.email
user.contact
/c:forEach
list是你在servlet页面传过来的集合,然后在c标签中循环就可以了
异步json传输
或者request.getAttribute("list")
可以使用request进行传输,也可以使用异步传输