JSP随记
JSP简介:
- JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。
- Servlet: 处理请求数据的核心环节。
- jsp的组成 : jsp = html + java脚本 + jsp标签(指令)
- 支持的java脚本格式:
- <%…%>:写java代码片段,(类似方法)
- <%=…%>:用于输出,用于输出一条表达式(或变量)的结果。
- <%!…%>:声明,用来创建类的成员变量和成员方法(类似与类)
- jsp中的注释:
- 原有的html注释:<!--html注释--> 该种注释在页面使用查看源码的方式可以看见
- 单行注释: // 注释(需要在<%%>中定义)
- 多行注释: /*注释*/ (需要在<%%>中定义)
- jsp特有的注释:<%--注释--%> 该种注释在页面使用查看源码的方式不能看见
静态和动态包含:
静态包含:<%@include file="被包含的文件路径"%>
动态包含:<jsp:include page="被包含的文件路径"%>
区别:静态包含在编译之前先将需要导入的文件包含进来之后成为一个JSP页面再进行转换为servlet,然后最终生成一个*.class文件,而动态包含会将需要导入的文件先编译成独立的class文件之后再包含到目标页面。
EL(Expression Language)表达式:
它是获取JSP页面数据的一种表达式语言(只能获取数据,不能设置数据),是在JSP2.0开始引入的概念,主要的功能是获取保存在四大作用域中的数据,然后将其显示到jsp页面。
支持算术运算:${4-3} ${9/3}
支持关系运算:> 或 gt,>= 或 ge,< 或 lt,<=或 le,==或 eq,!= 或 ne 例如:${4 le 6}
支持逻辑运算:&& 或 and,|| 或 or ,!或 非 例如:${true || false}
支持三元运算:?: ${3>1? '是‘ :'不是'}
JSTL标签库:
JSTL是Apache对EL表达式的扩展
在JSP中使用时需要先使用taglib指令引入JSTL 的核心标签库(core)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
在JSP中使用JSTL对后台的Map数据集合进行遍历:
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
4 <!DOCTYPE html>
5 <html>
6 <head>
7 <meta charset="UTF-8">
8 </head>
9 <body>
10
11 <c:forEach items="${empMap}" var="deptlist">
12 <c:if test="${deptlist.key!='count' and deptlist.key!='cp' and deptlist.key!='kw' and deptlist.key!='ls' and deptlist.key!='allPages'}">
13 <h1>
14 ${deptlist.key}
15 </h1>
16 <table border="1">
17 <tr>
18 <td>编号</td><td>姓名</td><td>职位</td><td>薪资</td><td>领导编号</td><td>入职日期</td><td>佣金</td><td>部门编号</td>
19 </tr>
20 <c:forEach items="${deptlist.value}" var="emp">
21 <tr>
22 <td>${emp.empno}</td>
23 <td>${emp.ename}</td>
24 <td>${emp.job}</td>
25 <td>${emp.sal}</td>
26 <td>${emp.mgr}</td>
27 <td>${emp.hiredate}</td>
28 <td>${emp.comm}</td>
29 <td>${emp.deptno}</td>
30
31 </tr>
32 </c:forEach>
33 </table>
34 </c:if>
35 </c:forEach>
36 </body>
37 </html>
JSP随记的更多相关文章
- JSP 随记
jstl <c:forEach> 遍历,多个<option>时显示"全部".单个 option时,默认选中! 引入:<%@ taglib prefix ...
- 记一次对上传对jsp限制的绕过
当访问网站任何.jsp后缀的文件时都会显示如下图所示或者session timeout等提示, 并且网站防护会,对上传大马和一句话会被查杀. 解决方法: 利用jspx包含,利用jspx包含图片或者cs ...
- 记jsp判断
empty:表示空字符串,null,空数组,空集合. ! empty:表示非空字符串,非null,非空数组,非空集合.
- 使用MongoDB和JSP实现一个简单的购物车系统
目录 1 问题描述 2 解决方案 2.1 实现功能 2.2 最终运行效果图 2.3 系统功能框架示意图 2.4 有关MongoDB简介及系统环境配置 2.5 核心功能代码讲解 ...
- 【bb平台刷课记】wireshark结合实例学抓包
[bb平台刷课记]wireshark结合实例学抓包 背景:本校形势与政策课程课需要在网上观看视频的方式来修得学分,视频网页自带"播放器不可快进+离开窗口自动暂停+看完一集解锁下一集(即不能同 ...
- .NET随记【你懂的】
.NET随记.txt放在桌面好久了,编程过程中记录些杂七杂八的东西,分享给大家希望有所帮助. goto 常用于 switch语句中 字符串相加用 StringBuilder的Append()方法性能好 ...
- 重温JSP学习笔记--三大指令九大内置对象
最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: ...
- jsp 入门 cookie session
Java Server Page ==> 服务器端的动态页面资源.用来做显示的功能. JSP构成 ==> HTML 脚本代码 标签构成. JSP 原理 ==> 实际上就是 servl ...
- jsp状态管理
http无状态协议 服务器记不住你 每次浏览器访问,服务器不会特点保存相应信息,故记不住你 jsp状态存储的两种机制 cookie 存储在客户端 用途: 1.简化登陆 2.追踪特定对象 3.保存用户常 ...
随机推荐
- Flask 构建微电影视频网站(六)
会员模块实现 会员注册 class RegistForm(FlaskForm): name = StringField( label="昵称", validators=[ Data ...
- java文件运行的过程
javac .java——>编译成.class文件(字节码) 参考: https://www.cnblogs.com/yxwkf/p/3855363.html https://www.jians ...
- docker基本使用
1.启动执行一次的容器 2.启动交互式容器 -i:告诉docker守护进程始终打开交互输入 -t:给容器分配一个伪tty终端 3.查看容器 docker ps:查看正在运行的容器 docker ps ...
- CF802C Heidi and Library (hard)
题目描述 你有一个容量为k的空书架,现在共有n个请求,每个请求给定一本书ai,如果你的书架里没有这本书,你就必须以ci的价格购买这本书放入书架.当然,你可以在任何时候丢掉书架里的某本书.请求出完成这n ...
- Python基础学习笔记4-28(持续更新)
Python学习笔记 第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件但硬件之间无法进行交流和通信.需要操作系统进行协调 ...
- webp图片实践之路(转载)
最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...
- 在graphviz中创建可点击的图形
1.创建一个dot文件,在节点属性中使用URL关键字: target关键字指定链接打开的方式 //test.dot digraph Arch { A; B [URL="http://docs ...
- Java动态代理实现及实际应用
一.代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础,不会动态代理技术,那么在学习Spring这些框架时是只知应用不懂实现. 动态代理技术就是用来产生一个对象的 ...
- django 2.接口之工作原理
1.创建应用程序有两种方法,第一种就是在新建项目的时候,在最初使的时填入应用程序名称,第二种就是进入目录下面,输入 python manage.py startapp appName 就会自动生成一个 ...
- servlet三大作用域对象
1 req 请求对象 共享的数据 : 请求共享 特点: 同一次请求中 共享数据可以获取 (请求一旦结束 请求共享清除站)(请求转发能共享 重定向不行) 代码: req.setAttribute(&qu ...