1 什么是JSTL
JSTL是apache对el表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一定,只不过他不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!
2.JSTL标签库
JSTL一共包含四大标签库
- core:核心标签库,我们学习的重点;(c 标签)
<c:out > 输出
value:可以是字符串常理,也可以是EL表达式
url
value:指定一个路径!他会在路径前面自动添加项目名
子标签:<c:param>,用来给url后面添加参数 - fmt:格式化标签库,只需要学习两个标签即可;
- sql: 过时
- xml过时
3.使用taglib指令导入标签库
除了jsp动作标签外,使用其他第三方标签库都需要
导包;
在使用标签的jsp页面中使用taglib指令导入标签库
if
if标签的test属性必须是一个boolean类型的值,如果test的值为true,那么执行if标签的内容,否则不执行
choose
它对应java中的if/else if/.../else
forEach
它用来循环遍历数组、集合!
它还可以用来技术方式来循环!
计数方式:
<c:forEach var="i" end="10">
${i}
</c:forEach>
属性: - var:循环变量
- begin:设置循环变量
- end:设置循环变量到结束
- step:设置步长!等同于java中的i++,或i+=2,step默认为1
用来输出数组,集合!
<c:forEach items="{(str )}
</c:forEach>
等同于
for(String str:strs ){
}
属性:
items:指定要循环谁,它可以是一个数组或一个集合
var:把数组或集合中的每一个元素赋值给var指定的变量
循环状态:
可以使用varStatus来创建循环状态变量!
循环状态变量有如下属性:
- count:循环元素的个数
- index:循环元素的下标
- first:是否为第一个元素
- last:是否为最后一个元素
- current:当前元素
fmt标签库是用来格式化输出的,通常需要格式化的有时间和数字
value:指定一个Date类型的变量
pattern:用来指定输出的模板
自定义标签
1.步骤
标签处理类(标签也是一个对象,那么久需要先有类)
tld文件,它是一个xml
页面中使用<%@taglib%>来指定tld文件的位置
2.标签处理类
SimpleTag接口
void doTag():每次执行标签时都会调用这个方法
JspTag getParent():返回父标签(非生命周期方法)
void setParent():设置父标签
void setJspBody(Jspragment):设置标签体
void setJspContext(JspContext):设置jsp上下文对象,它儿子是PageContext
其中doTag()会在其他三个方法之后被调用
MVC模式
mvc模式是软件工程中的一种软件架构模式,把软件系统分为三个基本部分,模型(Model),视图(View),和控制器(Controller)。
MVC可对程序的后期维护和扩展提供方便,并且使程序某些部分的重用提提供了方便,而且MVC也使程序简化,更加直观
控制器Controller:对请求进行处理,负责请求转发
视图View:界面设计人员进行图形界面设计
模型Model:程序编写程序应用的功能
,数据库管理
javaWeb经典三层框架
我们常说的三层框架是由javaWeb提出的,也就是说这是javaWeb独有的
WEB层:包含JSP和Servlet等于WEB先关的内容
业务层:业务层中不包含JavaWeb APL,它只惯性业务逻辑