JSTL

来源:互联网 发布:win10 企业版激活软件 编辑:程序博客网 时间:2024/06/15 21:55
核心标签库(c:)

.《c:out》标签用于输出一段文本到浏览器中
属性:
value   支持EL   Object   指定要输出的内容
escapeXml  支持EL  Boolean指定是否将》,《,&,',"等特殊字符进行HTML编码转换后再进行输出。默认为true
default  支持EL   Object  指定如果value属性的值为null/""时所输出的默认值

.《c:set》标签用于把某个对象存在指定的域范围内,或者设置web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性

value  支持EL   Object  用于指定属性值
var    不支持EL  String  用于指定要设置的Web域属性的名称
scope  不支持EL   String  用于指定属性所在的web域
target 支持EL     Object 用于指定要设置属性的对象,这个对象必须是javaBean对象或java.util.Map对象
property  支持EL   String  用于指定当前要为对象设置的属性名称


.《c:if test=""》标签可以构造简单的if-then结构的条件表达式
test    支持EL  boolean  决定是否处理标签体中的内容的条件表达式
var     不支持EL String  用于指定将test属性的执行结果保存到某个web域中的某个属性的名称
scope   不支持EL String   指定将test属性的执行结果保存到那个web域中


.《c:choose》标签用于指定多个条件选择的组合边界,他必须与和标签一起使用。使用,和三个标签,可以构造类似"if-elseif-else"的复杂条件判断结构
《%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%》
《%@ page contentType="text/html;charset=gb2312" %》
《c:set value="${param.count}" var="count“ /》
《c:choose》
《c:when test="${count == 0}"》
对不起,没有符合您要求的记录。
《/c:when》
《c:otherwise》
符合您要求的记录共有${count}条.
《/c:otherwise》
《/c:choose》




.《c:forEach》标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容
var   不支持EL   String   指定将当前迭代到的元素保存到page这个web域中的属性名称
items 支持EL     任何支持的类型   将要迭代的集合对象
varStatus   不支持EL  String  指定将代表当前迭代状态信息的对象保存到page这个wen域中的属性名称
begin  支持EL    int     如果指定items属性,就从集合中的第begin个元素开始进行迭代,begin的索引值从0开始编号;如果没有指定items属性,就从begin指定的值开始迭代,直到end值时结束迭代
end    支持EL    int     参看begin属性的描述
step   支持EL    int     指定迭代的步长,既迭代因子的迭代增量



.《c:forTokens》标签对带有相同符合格式内容进行分割输出,例如varstr="1,2,3,4,5,6"
items   支持EL   任何类型   将要迭代的集合对象
delims  不支持EL  String    字符串的分割符,可以同时有分割符
varStatus  不支持EL   String 指定将代表当前迭代状态信息的对象保存到page这个web域中的属性名称
begin   支持EL    int      如果指定items属性,就从集合中的第begin个元素开始进行迭代,begin的索引值从0开始编号;如果没有指定items属性,就从begin指定的值开始迭代,直到end值时结束迭代
end     支持EL    int      参看begin属性的描述
step    支持EL    int      指定迭代的步长
var     不支持EL  String    指定将当前迭代到的元素保存到page这个web域中的属性名称





.《c:url》标签用于在JSP页面中构造一个URL地址,其主要目的是实现url重写。url重写就是将会话标识号以参数形式附加在URL地址后面
value    支持EL  String    指定要构造的URL
var     不支持EL String    指定将要构造出的URL结果保存到Web域中的属性名称
scope    不支持EL String    指定将要构造出的URL结果保存到哪个Web域中



.《c:catch》标签用于捕获嵌套在标签体中的内容抛出的异常,其语法格式如下:
《c:catch [var="varName"]》nested actions《/c:catch》

《%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%》
《%@ page contentType="text/html;charset=gb2312" %》
《c:catch var="myex“ 》
《%
10/0;
%》
《/c:catch》
异常:《c:out value="${myex}" /》《br /》
异常 myex.getMessage:《c:out value="${myex.message}" /》《br/》
异常 myex.getCause:《c:out value="${myex.cause}" /》《br /》
异常 myex.getStackTrace:《c:out value="${myex.stackTrace}"/》



.《c:redirect》标签用于将当前的访问请求转发或重定向到其他资源,它可以根据url属性所指定的地址,执行类似这个JSP标准标签的功能,将访问请求转发到其他资源;或执行response.sendRedirect()方法的功能,将访问请求重定向到其他资源。 
url    支持EL   String   指定要转发或重定向到的目标资源的URL地址




.《c:param》标签在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。《c:param》标签可以嵌套在《c:import》、《c:url》或《c:redirect》标签内,为这些标签所使用的URL地址附加参数。《c:param》标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”,则将其转换为“�й�”后再附加到URL地址后面,这也就是使用《c:param》标签的最大好处。 
http://localhost:808/servlet/MyServlet?name=“中国”
示例:《c:param name=“name” value=“中国" /》




  《%--使用标签 --%》
    《%--set标签:保存数据(保存到域中)默认保存到page域 --%》
    《c:set var="name"value="rose" scope="request"》《/c:set》
    
    《%
    String msg = null;
   pageContext.setAttribute("msg",msg);
    %》
   ${requestScope.name}
    ${msg }
    《br/》
    《%--out标签:获取数据(从域中) 
    default:当value值为null时,使用默认值
    escapeXml:是否对value值进行转义,false,不转义,true,转义(默认)
    --%》
    《c:out value="${msg}"default="《h3》标题3《/h3》" escapeXml="false"》《/c:out》
    
    《hr/》
    
    《%--if标签:单条件判断--%》
    《c:if test="${emptymsg}"》
    条件成立
    《/c:if》
    
    《hr/》
   《%--choose标签+when标签+otherwirse标签: 多条件判断 --%》
    《c:set var="score"value="86"》《/c:set》
    
    《c:choose》
    《c:whentest="${score》=90 && score《=100}"》
    优秀
    《/c:when》
    《c:whentest="${score》=80 && score《90}"》
    良好
    《/c:when》
    《c:whentest="${score》=70 && score《80}"》
    一般
    《/c:when》
    《c:whentest="${score》=60 && score《70}"》
    及格
    《/c:when》
    《c:otherwise》
    不及格
    《/c:otherwise》
    《/c:choose》
    
   《%-- forEach标签:循环--%》
    《%
    //List
     List《Student》  list = newArrayList《Student》();
     list.add(new Student("rose",18));
     list.add(new Student("jack",28));
     list.add(new Student("lucy",38));
     //放入域中
     pageContext.setAttribute("list",list);
     
     //Map
     Map《String,Student》 map = new HashMap《String,Student》();
     map.put("100",new Student("mark",20));
     map.put("101",new Student("maxwell",30));
     map.put("102",new Student("narci",40));
     //放入域中
     pageContext.setAttribute("map",map);
    %》
    《hr/》
    《%--
     begin="" : 从哪个元素开始遍历,从0开始.默认从0开始
     end="":    到哪个元素结束。默认到最后一个元素
     step="" : 步长    (每次加几) ,默认1
     items="": 需要遍历的数据(集合) 
     var="": 每个元素的名称 
     varStatus="": 当前正在遍历元素的状态对象。(count属性:当前位置,从1开始)
     
    --%》
    《c:forEachitems="${list}" var="student" varStatus="varSta"》
    序号:${varSta.count} -姓名:${student.name } - 年龄:${student.age}《br/》
    《/c:forEach》
    
    《hr/》
    
    《c:forEachitems="${map}" var="entry"》
    ${entry.key } - 姓名:${entry.value.name } - 年龄:${entry.value.age }《br/》
    《/c:forEach》
    《hr/》
    《%-- forToken标签: 循环特殊字符串--%》
    《%
    String str ="java-php-net-平面";
   pageContext.setAttribute("str",str);
    %》
    
    《c:forTokensitems="${str}" delims="-" var="s"》
    ${s }《br/》
    《/c:forTokens》

 《%--redrict:重定向 --%》
    《c:redirecturl="http://www.baidu.com"》《/c:redirect》
JSTL

0 0
原创粉丝点击