一、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代码的写法!的更多相关文章

  1. JSP中嵌入java代码方式以及指令

    JSP中嵌入java代码的三种方式: (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% j ...

  2. JSP中的Java代码和内置对象

    一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...

  3. jsp中包含JAVA代码

    在JSP中大部分都是由脚本小程序组成,所谓的脚本小程序就是里面直接包含了JAVA代码. 在JSP中Scriptlet一共分为三种:        · <%%>:定义局部变量,编写语句    ...

  4. JSP中嵌入java代码的标签方式(转)

    (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% java代码; %> (3)表达式 ...

  5. jsp中利用java代码换行

    从数据库中取出的10条商品数据分两行显示,每行5条. <% for(int i=0; i<latestProducts.size(); i++) { Product p = latestP ...

  6. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  7. jsp页面中的java代码

    jsp页面中的java代码 1.jsp表达式  <%= ....%>  只能放置一个变量常量 2. jsp小脚本 <% .... %>  java语句,可以插入一些语句 3. ...

  8. 【JSP】JSP中的Java脚本

    前言 现代Web开发中,在JSP中嵌入Java脚本不是推荐的做法,因为这样 不利于代码的维护.有很多好的,替代的方法避免在JSP中写Java脚本.本文仅做为JSP体系技术的一个了解.     类成员定 ...

  9. 如何在 js 代码中使用 jsp 标签或 Java 代码

    JSP 标签还是很方便的,比如 Struts.Spring 等提供给我们的 JSP 标签,可以用它们来获取变量或进行一些计算.比如 struts2 的 <s:url value="/a ...

随机推荐

  1. 流水车间调度算法分析的简单+Leapms实践--混合整数规划的启发式建模

    流水车间调度算法分析的简单+Leapms实践--混合整数规划的启发式建模 清华大学出版社出版的白丹宇教授著作<流水车间与开放车间调度算法渐近分析>采用渐近分析方法分析多个NP-难类启发调度 ...

  2. 物联网RFID技术之应用ETC系统

    背景 信息物理系统CPS通过集成先进的感知.计算.通 信.控制等信息技术和自动控制技术,构建了物理空间与信息空间中人. 机.物.环境.信息等要素相互映射.适时交互.高效协同的复杂系统, 实现系统内资源 ...

  3. 小tips:JS的Truthy和Falsy(真值与假值)

    前言 Truthy 不等于 ture,他是指是在Boolean上下文中转换后的值为真的值.我的理解是,在javascript中所有表达式为true的值.同理Falsy指的是在javascript中所有 ...

  4. 第八课 表格 html5学习3

    表格用来处理表格式数据的,不是用来布局的. 一.基本语法格式 <table> <tr> 行标签 <td></td> 单元格标签 </tr> ...

  5. 两种方法实现asp.net方案的前后端数据交互(aspx文件、html+ashx+ajax)

    一个HTML页面只能显示HTML代码信息,不能与数据库进行数据的交互.asp.net方案提供了网页与数据库交互的方法,这里举出两种:①aspx文件 ②ashx文件+ajax技术 一.创建数据库 这里以 ...

  6. iPhone手机怎么投影到MacPro上

    https://www.bilibili.com/video/av27255821/ 2.使用Refletor,记得电脑和手机使用同一个wifi

  7. Android应用跳转到微信和支付宝扫一扫

    新版的微信已经把微信功能的schema都禁掉了,意味着我们无法打开微信的扫一扫等功能,目前正常的只能先进入微信(我测试的时候是微信版本7.0.3)已经是很新的版本了 具体调起微信扫一扫代码如下,测试后 ...

  8. 常见的异步方式async 和 await

    之前研究过c#的async和await关键字,幕后干了什么,但是不知道为什么找不到相关资料了.现在重新研究一遍,顺便记录下来,方便以后查阅. 基础知识 async 关键字标注一个方法,该方法返回值是一 ...

  9. rocketmq广播消息

    发布与模式实现.广播就是向一个主题的所有订阅者发送同一条消息. 在发送消息的时候和普通的消息并与不同之处,只是在消费端做一些配置即可. Consumer消息消费 public class Broadc ...

  10. 查看CPU使用率

    rem 如果wmi服务(服务名为Winmgmt)坏掉了,需要到system32\webm目录下执行如下注释的命令 rem for %i in (*.dll) do RegSvr32 -s %i rem ...