1. 程式人生 > >EL和 JSTL? 在JSP中簡化 java代碼的寫法!

EL和 JSTL? 在JSP中簡化 java代碼的寫法!

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代碼的寫法!