JSTL标签库

JSTL标签库
JSTL是标签语言;apache的东西,依赖EL;
四大标签库

core:核心库,
fmt:格式化:日期,数字

sql:数据库标签库;
xml:xml标签库;
自定义标签
2,导入标签库
jar包
在JSP页面中。<%@taglib prefix=" 前缀" url="路径"%>
core
1,out和set,
:输出

value:可以是字符串常量,也可以是EL表达式;
default:当要输出的内容为null时,会输出default指定的值;
escapeXml:默认值为true,表示转义;

:设置(创建域的属性)

var:变量名;
value:变量值,可以是EL表达式;
scope:域,默认为page,可选填:page,request,session,application;

2,remove
:删除域变量;

var:变量名;
scope:如果不给出scope,表示删除所有域中的该名称的变量,如果指定了域,那么只删除该域的变量;

3,url
value:指定一个路径;她会在路径前面自定添加项目名;
<>,它会输出/day13_1/index.jsp
子元素:,用来给url后面添加参数,例如:



var:指定变量名,一旦添加了这个属性,那么url标签就不会再输出到页面,而是把生成的url保存到域中;
scope:它于var一起使用,用来保存url;
4,if对应Java中的if语句;
...,当test为值时,执行标签体内容;
5,choose:它对应Java中的if/else if/.../else
例如:


...
...
...
...
...

等同于
if(...){
}else if(...){
}else if(...){
}else if(...){
}...
else{...}

6,forEach
它用来循环遍历数组,集合;
它还可以用计数方式来循环;
计数方式:

for(int i=1; i <= 10; i ++){
...
}

输出

属性:
var:循环变量;
begin:设置循环变量从几开始,
end:设置循环变量从几结束,
step:设置步长,等同于Java中的i++,或i+=2,step默认为1;
用来输出数组,集合


value:指定一个Date类型的变量,例如;yyyy-MM-dd HH:mm;ss

保留小数点后2位,他会四舍五入!如果不足两位,不补位;
自定义标签
1,步骤
标签处理类(标签也是一个对象,那么就需要先有类)
tld文件,它是一个xml
页面中使用<%@taglib%>来指定tld文件的位置
2,标签处理类
SimpleTag接口:

void doTag();每次执行标签时都会调用这个方法;
JspTag getParent();返回父标签
void setParent(JspTag);设置父标签
void setJspBody(JspFragment);设置标签体;
void setJspContext(JspContext):设置Jsp上下文对象,它儿子是PageContext

其中doTag()会在其他三个方法之后被Tomcat调用
MVC
他不是Java独有,所有的B/S结构的·项目都在使用;
M--model 模型·
V--view 视图(jsp)
C--cotroller控制器(Servlet)
javaweb三层框架
web层——与web相关的内容(Servlet)
业务层——业务对象(Service)
数据层——操作数据对象

你可能感兴趣的:(JSTL标签库)