JSP笔记

什么是JSP

表面上看 JSP是HTML+java ,实际上他的本质是Servlet
JSP不能用浏览器直接打开,需要被服务器软件翻译成java(Servlet); 访问JSP 本质上访问的是Servlet

jsp和Servlet的区别

jsp是擅长将数据显示在页面上,而不擅长做逻辑运算 Servlet恰恰相反
实际中 是两者配合使用的

JSP的基本语法(现在基本都被EL和JSTL所代替了)

<%=Java表达式%>:把表达式显示在页面上
<%Java代码块%>: 可以写多行Java代码,通常用于if判断,for循环
<%!Java声明%>: 用于声明成员变量 成员方法
<%-- 注释 --%> :JSP里的注释

EL

EL表达式主要用于替代第一种JSP的基本语法
EL表达式主要的两个作用:1.从域里面取数据显示到页面上 2.进行数据运算

写法

${java表达式}

指定的域里面取数据

由小到大的顺序排列下来${pageScope.key} ${requestScope.key} ${sessionScope.key} ${applicationScope.key}

有更加简便的方法 直接${key} 从以上四个域中从小到大的顺序 查找key对应的数据

从JavaBean里取数据的话${user.name} 从域里找user对象的那么属性值
从Map里取数据: m a p . u 1 : 从 域 里 找 m a p 里 u 1 对 应 的 数 据 从 数 组 / 集 合 里 面 取 数 据 : {map.u1}: 从域里找map里u1对应的数据 从数组/集合里面取数据 : map.u1:mapu1/:{list[1]} :从余力找list 获取索引1的数据

也可以进行数据运算
基本数学运算:±*/%
* 比较运算:>,<,>=,<=,==,!= 或者 gt,lt,ge,le,eq,ne
* 逻辑运算:&&,||,! 或者 and,or,not
* 可以判空:empty
* 三元运算:${判断条件?true的值:false的值}

JSTL标签库:用于代替<% Java代码块 %>,提供了一些逻辑处理的标签

导入对应的jar包 并引入需要的标签库
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

常用的两种标签

<c:if test=“判断条件,用EL表达式判断”>
如果test等于的值为true 那么这一行就会生效 否则不会生效
<c:if>

两种循环 的基本语法

c:forEach标签:用于循环遍历
var:定义一个变量。 变量的值,被JSTL放到了pageScope域对象里
begin:从几开始循环
end:循环到几结束
step:每次循环加几

items:被循环遍历的对象
var:定义一个变量。变量的值,被JSTL放到了pageScope域对象里

varStatus:循环状态对象。这个对象里存储了循环中,当前的索引、序号等等一些状态值

普通for循环
<c:forEach var=“i” begin=“1” end=“10” step=“1”> hello, 张三 ${i} </c:forEach>
这段的意思 定义一个 变量 i 从1 开始 到10 结束 每次增加1 循环十次 hello,张三 i

增强for循环

<c:forEach items="${stringList}" var="str" varStatus="status">     <span style="color:red;">
		当前值${str}
        当前索引:${status.index},
        当前序号:${status.count}     </span>     <br> </c:forEach>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值