jsp学习笔记

本文详细介绍了JSP中的核心技术JSTL和EL表达式,包括EL的取值输出、运算符以及JSTL的常用标签库,如If标签、forEach标签、Param标签等,并提供了具体的示例代码。此外,还涉及到了国际化标签库的使用和文件上传的相关知识。
摘要由CSDN通过智能技术生成

1.JSTL和EL
是jsp中最核心的技术。
在jsp2.0之后出现的技术,目的是去掉所有的小脚本<%%>
1.1.EL表达式
1.1.1.格式
${表达式语言}
1.1.2.作用
取值输出:可以在4个作用域对象和请求对象中取值,输出到浏览器;
使用el表达式替换<%= %>。
1.1.3.常量
在el表达式中使用””双引号或者单引号’’

1.1.4.运算符
算数运算符: + - * /
关系运算符: >gt < lt ==eq >= ge <=le
逻辑运算符: && and || or !not

验证字符串是否为空,使用empty
1、null—空值
2、“”–空字符串

<% int num=18; request.setAttribute("age", num); String name="baoyu"; request.setAttribute("name", null); %> ${name==''}----${name==null}
${empty name}---${empty null}----${empty ''}
${age >=18 }----${age ge 18 }
${age <=18 }----${age le 18 }
${age >=18 and name=='baoyu'}---${age >=18 && name=='baoyu'}
1.1.5.EL表达式中的隐式对象 1.1.5.1.通过param在请求中取值 Test.jsp页面 index

提交 Index.jsp页面

获取请求中的携带的参数值--通过param

name:${param.name }==age:${param.age }
来自表单中的内容 userName:${param.userName } pass:${param.pass }

1.1.5.2.header获取请求中的头信息

获取头信息

${header}
${header.referer }
${header.cookie }

1.1.5.3.获取4个作用域对象中存储的值
Jsp隐式对象 El表达式获取隐式对象 范围
pageContext pageScope 当前页面
request requestScope 同一个请求
session sessionScope 会话范围
application applicationScope 整个应用程序范围

获取4个隐藏域中的内容

<% pageContext.setAttribute("address", "beijing--page"); request.setAttribute("address", "beijing--request"); session.setAttribute("address", "beijing--session"); application.setAttribute("address", "beijing--application"); %> pageContext-address:${pageScope.address}
request-address:${requestScope.address}
session-address:${sessionScope.address}
application-address:${applicationScope.address}
操作对象类型: <% Student stu=new Student("黛玉",14,'女'); request.setAttribute("stu", stu); %> stu:${requestScope.stu}
stu.stuName:${requestScope.stu.stuName}
stu.age:${requestScope.stu.age}
stu.sex:${requestScope.stu.sex}

public class Student { private String stuName; private int age; private char sex; ....省略set get 和构造方法

1.2.JSTL
JSTL jsp的标准标签库;JSP2.0之后推出的一组标签,用于在jsp页面进行一些逻辑控制。
1.2.1.JSTL的4组标签库
核心标签库、XML标签库、SQL标签库、国际化标签库(日期转换、数字格式转换)
1.2.2.使用JSTL标签库之前需要导入标签库的描述文件
<% taglib 导入标签库文件
导入核心标签库和国际化标签库
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
Prefix:前缀,原则上可以自定义,但是国际通过C
Uri:查找路径

1.2.3.核心标签库中常用的标签
1.2.3.1.If标签的使用

<% request.setAttribute("num", 96); %> 不及格 一般 良好 优秀 4个if是同级别,每一个if都会去判定,相当于java的4个if并列

1.2.3.2.多重选择结构 choose标签
<%
request.setAttribute(“num”, 56);
%>
<c:choose>
<c:when test=" r e q u e s t S c o p e . n u m l t 60 " > 不 及 格 < / c : w h e n > < c : w h e n t e s t = " {requestScope.num lt 60}">不及格</c:when> <c:when test=" requestScope.numlt60"></c:when><c:whente

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值