EL和 JSTL? 在JSP中简化 java代码的写法!
一、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代码的写法!的更多相关文章
- JSP中嵌入java代码方式以及指令
JSP中嵌入java代码的三种方式: (1)声明变量或方法 : <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet): <% j ...
- JSP中的Java代码和内置对象
一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...
- jsp中包含JAVA代码
在JSP中大部分都是由脚本小程序组成,所谓的脚本小程序就是里面直接包含了JAVA代码. 在JSP中Scriptlet一共分为三种: · <%%>:定义局部变量,编写语句 ...
- JSP中嵌入java代码的标签方式(转)
(1)声明变量或方法 : <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet): <% java代码; %> (3)表达式 ...
- jsp中利用java代码换行
从数据库中取出的10条商品数据分两行显示,每行5条. <% for(int i=0; i<latestProducts.size(); i++) { Product p = latestP ...
- JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象
Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...
- jsp页面中的java代码
jsp页面中的java代码 1.jsp表达式 <%= ....%> 只能放置一个变量常量 2. jsp小脚本 <% .... %> java语句,可以插入一些语句 3. ...
- 【JSP】JSP中的Java脚本
前言 现代Web开发中,在JSP中嵌入Java脚本不是推荐的做法,因为这样 不利于代码的维护.有很多好的,替代的方法避免在JSP中写Java脚本.本文仅做为JSP体系技术的一个了解. 类成员定 ...
- 如何在 js 代码中使用 jsp 标签或 Java 代码
JSP 标签还是很方便的,比如 Struts.Spring 等提供给我们的 JSP 标签,可以用它们来获取变量或进行一些计算.比如 struts2 的 <s:url value="/a ...
随机推荐
- Java进阶篇设计模式之三 ----- 建造者模式和原型模式
前言 在上一篇中我们学习了工厂模式,介绍了简单工厂模式.工厂方法和抽象工厂模式.本篇则介绍设计模式中属于创建型模式的建造者模式和原型模式. 建造者模式 简介 建造者模式是属于创建型模式.建造者模式使用 ...
- 系统设计Design For Failure思想
系统设计Design For Failure思想 Complex systems fail in spectacular ways. Failure isn't a question of if, b ...
- vue鼠标悬停事件
v-bind:title="message" <!DOCTYPE html> <html lang="en"> <head> ...
- Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示
关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...
- PostGIS计算矢量切片(二)--按值渲染
方案背景 今年三月份写了一篇postgis计算矢量切片,参考了网上资料给出了一份很粗糙的相关方案(文章写的更粗糙).当时的方案中只能针对gis形状进行渲染,而不能用属性渲染.针对这个情况,本文 ...
- Odoo薪酬管理 公式配置
薪酬计算的一般原理是:在基本工资的基础上,加上各种津贴,减去社保.公积金.个税等各种扣除项之后,得出最终的实发工资.此外,还要计算社保.公积金等公司应该承担的部分. 在同一公司中,针对不同的地区.不同 ...
- 源码浅谈(二):java中的 Integer.parseInt(String str)方法
这个方法是将字符串转换为整型 一.parseInt方法 ,可以看到默认又调用了parseInt(s,10) , 第二个参数为基数,默认10 ,当然也可以自己设置 public static int ...
- 为了约会,PM的领导能力篇来啦!
之前我们花了很大力气阐述PM的过程能力成熟度,为的是让PM把项目管理得心应手,早点下班.可再完美的过程也要人来做啊!兄弟们要是不爽了,你还有心思约会么?那怎么才能管好组里的兄弟,让他们好好执行过程,早 ...
- 深入浅出ES6教程模块化
大家好,本人名叫苏日俪格,大家叫我 (格格) 就好,在上一章节中我们学到了Promise的用法,下面我们一起来继续学习模块化: JavaScript本身是不支持模块化的,只不过后来一些社区的大佬制定了 ...
- C语言面试基础知识整理
一.预处理 1.什么是预编译?何时需要预编译? (1)预编译又称预处理,是做些代码文本的替换工作,即程序执行前的一些预处理工作.主要处理#开头的指令,如拷贝#include包含的文件代码.替换#def ...