EL和 JSTL? 在JSP中簡化 java代碼的寫法!
阿新 • • 發佈:2019-04-18
tps back style 共享數據 list set tag color protected
一、servlet部分
package com.aaa.servlet; import com.aaa.dao.IStudentDAO; import com.aaa.dao.Impl.StudentDAOImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; @WebServlet("/666") //虛擬路徑 不用再配置xml文件 快捷 public class HttpServletDemo extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1.獲取數據庫中的數據 IStudentDAO dao=new StudentDAOImpl(); List<Map<String, Object>> list = dao.getAllStudent();/* 2.請求共享數據 就是需要servlet展示什麽數據 req.setattribute("shuju",list) 展示list數據 名字叫shuju【關鍵字的作用】 因為這種文件可能 註意 ----關鍵字不能是數字! 會有很多 方便servlet找的到 我們所需要的JSP文件 */ req.setAttribute("shuju",list); //3.請求轉發到某個JSP 3.1 新建JSP文件 day01.jsp req.getRequestDispatcher("day02.jsp").forward(req,resp); } }
二、JSP部分
<%@ page import="java.util.List" %> <%@ page import="java.util.Map" %> <%-- Created by IntelliJ IDEA. User: Administrator Date: 2019/4/16 Time: 8:31 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%-- 之前是在 JSP中寫 java代碼 ,發現這樣寫很麻煩 能否簡化呢? 就需要用到 1.EL 和 2.JSTL 一、EL的功能? 1.等同於list <map<string,object>>list=(list <map<string,object>>).request.getAllStudent("key"); 獲取數據 key 關鍵字 2.可以直接將數據顯示在頁面上。由此可以驗證我們是否獲得student數據 二、JSTL? 代替java代碼 導包 兩個 jstl 和 standa 添加 < %@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> < c:forEach var="stu" items="$ {shuju}" > 這裏是一個 增強for 循環 var是設置變量 items =" ${ key }}" 獲得數據連接 key關鍵字 放在 ${ key } 中。 <tr> <td>${stu.id}</td> 獲得 id <td>${stu.name}</td> 獲得 name <td>${stu.age}</td> 獲得 age </tr> < /c:forEach> 三。註意 JSP的註釋是 < % -- --% > --%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <html> <head> <title>Title</title> </head> <body> <h1>-------------------------------------------</h1> ${shuju} <!-- key關鍵字 這裏不能 是數字--> <h1>--------------------------------------------</h1> <table border="1px" cellspacing="0" bgcolor="green"> <tr> <td>id</td> <td>name</td> <td>age</td> </tr> <c:forEach var="stu" items="${shuju}" > <tr> <td>${stu.id}</td> <td>${stu.name}</td> <td>${stu.age}</td> </tr> </c:forEach> </table> </body> </html>
EL和 JSTL? 在JSP中簡化 java代碼的寫法!