JavaWeb [Jsp, el, jstl, caso completo] mostrar lista de contactos

Reimpreso: Enlace a este artículo: http://blog.csdn.net/u013621398/article/details/108563928

Efecto de operación de lista de contactos

Inserte la descripción de la imagen aquí

análisis de demanda

La esencia es consultar una colección List y luego reenviar la solicitud a la página, y usar la expresión el para agregar una etiqueta jstl para mostrarla.

Inserte la descripción de la imagen aquí

Escribe la lógica empresarial

Somos un desarrollo basado en pruebas, por lo que primero escribimos la lógica de la prueba, luego implementamos la lógica y agregamos la página
test \ java \ com \ wzx \ service \ TestContactService.java

public class TestContactService {
    
    
    @Test
    public void test01(){
    
    
            //1:创建业务类对象
            ContactService contactService = new ContactService();
            //2:调用查询
            List<Contact> contactList = contactService.queryAll();
            //3:遍历
            for(Contact contact:contactList){
    
    
                System.out.println(contact);
            }
    }
}

Escribir clases de entidad

La
esencia de src \ com \ wzx \ bean \ Contact.java es modelar los datos

//联系人实体类
public class Contact {
    
    
    private int id;
    private String name;
    private String sex;
    private int age;
    private String address;
    private String qq;
    private String email;

Escribir clase empresarial

src \ com \ wzx \ service \ ContactService.java

//service层
public class ContactService {
    
    
    //1:创建数据层访问对象
    private ContactDao dao = new ContactDao();
    public List<Contact> queryAll() {
    
    
        //2:调用全查方法
        return dao.findAll();
    }
}

Escribe la capa de acceso a datos

src \ com \ wzx \ dao \ ContactDao.java
actualmente no integra jdbc con mysql, porque esta sección se enfoca en la arquitectura de tres niveles, siempre y cuando resalte la de tres niveles

//数据访问层
public class ContactDao {
    
    
    public List<Contact> findAll() {
    
    
        //创建集合
        List<Contact> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
    
    
            //添加元素
            Contact contact = new Contact(i,"name"+i,"男",10,"bj","QQ","[email protected]");
            list.add(contact);
        }
        return list;
    }
}

En este punto, puede ejecutar una prueba de prueba, siempre que no haya ningún problema con los datos, es más fácil aumentar la visualización de la página.

Agregar servlet de página

src \ com \ wzx \ web \ ContactListServlet.java

@WebServlet("/list")
public class ContactListServlet extends HttpServlet {
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
            doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        //1:创建业务类对象
        ContactService contactService = new ContactService();
        //2:调用查询
        List<Contact> contactList = contactService.queryAll();
        //3:遍历打印,改成请求转发,并且使用el与jstl来展示
        request.setAttribute("list",contactList);
        request.getRequestDispatcher("/list.jsp").forward(request,response);
    }
}

Agregar página el y jstl

Agregue el frasco de jstl

Inserte la descripción de la imagen aquí

Cree una nueva página para importar etiquetas y datos transversales

web \ list.jsp

<%@page import="com.wzx.bean.Contact" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>Title</title>
</head>
<body>

        <table border="1" >
            <tr >
                <th>编号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>年龄</th>
                <th>籍贯</th>
                <th>QQ</th>
                <th>邮箱</th>
                <th>操作</th>
            </tr>

            <c:forEach items="${list}" var="item" >
                <tr >
                    <td>${
    
    item.id}</td>
                    <td>${
    
    item.name}</td>
                    <td>${
    
    item.sex}</td>
                    <td>${
    
    item.age}</td>
                    <td>${
    
    item.address}</td>
                    <td>${
    
    item.qq}</td>
                    <td>${
    
    item.email}</td>
                    <td>删除</td>
                </tr>
            </c:forEach>
        </table>
</body>
</html>

Supongo que te gusta

Origin blog.csdn.net/qq_37924905/article/details/108599572
Recomendado
Clasificación