JavaWeb系列之十(jstl)



1.jstl的一个简介
    使用方式:jsp里面的指令taglib一起使用,替代页面<%%>JavaServerPages Standard Tag Library
    使用jstl,先导入jar包
    jstl的版本是1.0(版本使用于j2ee1.4时代,不能直接使用)1.1 1.2(差别不大)
    jstl在jsp里面引入标签库  <%@ taglib uri="标签库的路径" prefix="" %>
    找到standard.jar 下面,META-INF里面找到c.tld fn.tld
    c.tld里面找到标签库,和函数库,
    可以用标签库
2.jstl的标签
    :向页面输出内容
    三大属性:value(向页面输出值,也可是输出变量)
           
           
            default
            取不到值得时候用默认值
            escapeXml
            :不进行转义,默认值是true
3.set标签
    向域对象里面设置值
    ${pageScope.}
    修改域对象厘米那的对象的属性的值
4.removw标签
    移除域对象里面的标签
       
5.jstl的catch标签
    捕获异常
   
       <%
        int b = 10/0;
        %>
     

      ${e.message }
6.if标签
   
   
   

2000


   
   
   

other


   

7.选择语句
   
   
   

10


   

   
   

10


   

   

8.jstl的forTokens
    用来分割标签 属性:items=“分割的是什么字符串”delims=“根据什么来分割”var=“分割完叫什么”
   
  ${mm }
    

9、jstl的forEach标签的使用(**********今天最重要的标签********)
    获取域对象里面数组
   
         

${a }


   

    相当于java里面增强for循环,items:要循环的是哪一个数组;var:每次遍历的值
    获取域对象里面的集合(list 、 set 、 map)
    使用jstl的foreach标签获取域对象里面list集合里面的值 
      
     

${l1 }


      

    使用jstl的foreach标签获取域对象里面set集合里面的值 
      
    ${s1 }
      

 
    使用jstl标签获取域对象里面的map集合里面的值
     <%
      Map map = new HashMap();
      map.put("aa", "小师妹");
      map.put("bb", "大师兄");
      map.put("cc", "师父");
      pageContext.setAttribute("map", map);
      %>
     
     

${m1.key } , ${m1.value }


     

    向域对象里面放多个对象,通过foreach标签获取到多个对象的属性的值
    使用jstl的foreach标签获取域对象里面多个对象的属性的值
      <%
      Person p1 = new Person();
      p1.setId("100");
      p1.setName("小丽");
      Person p2 = new Person();
      p2.setId("200");
      p2.setName("小红");
      Person p3 = new Person();
      p3.setId("300");
      p3.setName("小三");
      //把多个对象放到域对象里面
      //首先先把这些对象放到一个集合里面,一般使用list集合,然后把集合放到域对象里面
      List list = new ArrayList();
      list.add(p1);
      list.add(p2);
      list.add(p3);
      pageContext.setAttribute("list1", list);
       %>
      
      
 

${list1.id } , ${list1.name }


      

10、jstl的foreach标签的其他操作(看懂)
    循环从1到10
    
    
    
  ${i }
    

 
    实现从1加到100
   
     
 

 ${sum }

     从100到200,每次加4,遇到第3个数变成红色,其他的变成蓝色
     100(蓝色) 104 108(红) 112  116  120(红)
     从100到200,每次加4,遇到第3个数变成红色,其他的变成蓝色 -->
    
     
       ${aa }
    

     
       ${aa }
     

    

 
===================================================
重点记住这些标签 set标签  if标签  choose标签  foreach标签(最重要的标签)
11.jstl的import,url,redirect,param
    import:在jsp页面中引入其他的jsp页面
        属性context:项目名称;url:写页面项目名称后面的内容
       
    url标签:获取url地址
        属性context:项目名称; url:写页面项目名称后面的内容
       
    param:传递参数的使用,类似get提交,地址
    redirect:重定向
12.JSTL中的常用的函数库
    如果想要使用el函数,导入jar包,导入函数库
    <%@ taglib uri="" prefix=""%>   
13.自定义函数
    ${myfn:println("wedfd") }
    开发步骤:
    定义一个java的方法,这个方法必须是一个static的方法
    第二步:创建一个函数库,也就是一个tld标签
    第三步:引入类库
    第四步:重启服务器
14.自定义标签
    一般使用simpleTag接口完成自定义的标签
    使用接口需要把接口里面的方法都实现
    都使用SimpleTagSupport类实现自定义标签
doTag()
setJspContext(JspContext pc)
setJspBody(JspFragment jspBody)
setParent(JspTag parent)
方法执行过程
   

开发步骤:
第一步创建一个类:

15.jsp的开发模式
    两种:模型一:jsp+javabean缺点在jsp里面写大量的代码,java和html混用
    模型二:也叫mvc,只负责自己的事情
    m:model使用javabean
    v:view使用jsp:负责显示数据
    c:controller,使用技术是servlet
    通过c控制什么m显示到什么v里面
16.案例的使用
    注册
   

你可能感兴趣的:(JavaWeb系列之十(jstl))