目录
-
JSP
-
指令
-
taglib
- 用来导入标签库(可以使用其他特殊标签),类似于导入jar包
-
include
- 不太常用
-
page
- 导入jar包需要写在page指令里
- isErrorPage:用来标识当前页面是不是一个用来展示错误信息就开好的页面
- ture:可以使用内置对象exception,用来打印输出错误信息
-
-
内置对象(笔试可能会让你写出这9个内置对象)
-
域对象
-
pageContext
-
request
-
session
-
application
- 其实就是servletContext对象
-
-
response
-
page
-
out
-
config
-
exception
-
-
-
MVC开发模式
-
概念
-
M:模型
-
V:视图
- 一丁点java代码都不要写,写了就不遵循MVC的开发模式了
- 使用EL表达式和JSTL标签来替换java代码
- 一丁点java代码都不要写,写了就不遵循MVC的开发模式了
-
C:控制器
- 不做具体的业务操作,只作为一个数据的中转
-
-
具体过程
- 浏览器请求服务器,控制器获取用户的输入,调用相应的模型,完成具体的业务操作(查询数据库、封装对象),模型再将输出的数据返回给控制器,控制器将数据交给视图进行展示。
-
-
EL表达式
-
概念
-
格式:${}
- 有返回值的,返回值就是表达式的返回值
-
输出大括号里面的值
- 也可以输出对象的值,不重写toString会输出对象的hash值
-
-
运算
-
获取值
- 将来最主要的作用还是获取到值,然后展示在页面中
-
获取对象中的值
- ${ 域名称 . 键名 . 属性名 }
- 属性名就是对应的getXxx方法
- 逻辑视图
- 比如说你在使用date对象时,直接输出的时间格式并不是我们想要的,想要输出我们想要的时间格式,你就可以再写一个对应的getXxx方法,然后通过.xxx调用即可
- ${ 域名称 . 键名 . 属性名 }
-
虚拟对象
- 类似于jsp的内置对象
- 有11个,但是掌握1个pageContext就可以啦
- 有啥作用
-
动态获取虚拟目录
- ${pageContext.request.contextPath}
- 可以把它写在表单里面
-
-
-
JSTL
-
概念
- jsp标准标签库
-
页面中一丁点java代码都不能出现
- 但是有时候又不得不出现java代码,比如说你要使用for循环来遍历一个集合,就必须使用java代码,使用了之后前端人员就不太容易阅读代码,所以就引入了标签库这种东西。比如说,我可以指定一个标签,告诉前端,这个标签就是用来完成某某特定工作的。
-
使用步骤
- 导入 jstl 相关 jar 包
- 一般导入那个高版本的jar包(路径中包含jsp的)
- 引入标签库: taglib 指令: <%@ taglib %>
- 导入 jstl 相关 jar 包
-
常用jstl标签
-
<c:foreach>
-
完成重复操作
- for( int i=0; i<10; i++){ ... }
- 属性
- begin:0
- end:9
- var:i
- step:1
-
<c:forEach begin="0" end="10" var="i" step="1"> ${i}<br> </c:forEach>
-
遍历容器
- for(User user : list){ ... }
- 属性
- items:list
- var:user
- varStatus:循环状态对象
- index:元素在容器中的索引
- count:循环的次数,从1开始
-
<c:forEach items="${list}" var="v" varStatus="s"> 索引:${s.index} 循环次数:${s.count}${v}<br> </c:forEach>
-
-
-