JSTL使用 - - JavaEye技术网站

来源:百度文库 编辑:神马文学网 时间:2024/05/04 16:43:17

JSTL

关键字: jstl apiEL表达式
     注:在一个jsp中一定要注意
         <%@ page isELIgnored="true|false" %>
    1,可以访问一个简单的参数
         userName是一个参数
         ${userName}
    2, 访问一个嵌套的参数
         ${userBean.userName}
    3, 可以是一个表达式
         ${userBean.age>0}
         ${userBean.age>20 && userBean.age<10}
    4, 隐含对象
       1) pageContext    jsp页面的上下文,它提供了访问以下对象的方法
          a, Servlet Context,Servlet的上下文信息
          b, Session 客户端的session对象
          c, request
          d, response
       2) param  把请求中的参数名和单个值进行映射
       3) paramValues  把请求中的参数名和一个array值进行映射
       4) cookie  把请求中的cookie名和单个值进行映射

    表达式编程举例:

       <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      <%@ page contentType="text/html;charset:gb2312" language="java" %>
     
     
     

     
      表达式语言举例
     
     
         姓名:${user.userName}

         密码:${user.password}

         年龄:${user.age}

      

         姓名:${param.userName}

         密码:${param.password}

         年龄:${param.age}

      

          姓名:${param['userName']}

         密码:${param['password']}

         年龄:${param['age']}

      


  标准标签库(JSTL)
    JSTL包含了和以下操作相关的标签
     常用标签  ,
     条件标签  ,  
     url标签 
     xml标签 
     国际化输出标签 
     SQL标签 :

   1, 一般标签;
              

       1) 把计算的结果输出
         a
         b    body     
           
             //输出"test"
          
          
       2) 用来将某范围(request,session,application等)中设置某个值
         a,
         b,     body 
         c,
         d,   body
           如:
               

             
                 pass
             

             
            
            
             
                  test
             

            
       3) 用于删除某个变量或者属性
          
            如:
            
            
      4) 捕获由嵌套在它里面的标签抛出的异常
            test
        例:
           
             <%  int i=0;
                 int j=10/i;
              %>
           

           
           
           
    2 条件标签 
        1) 用于进行条件判断,如果test属性为true,则就计算它的body
           a,
           b,     body
             test为表达式的条件
              例: 
                  
                 
                     对不起,你的年龄过小
                 

         2)   用于条件选择,它和一起使用
            注: 不能单独使用 

             就象是开关语句 swith 
                 

              也就是的分支
                 此语句一定要在的里面,并且一定要在之前
          

            在中可以有0个或者多个
               也就是最后的分支语句
              test   与开关语句中的最后选择
          

              
          如:
             
               
                  
               

               
                  
               

               
                  
               

            

              你的年龄:

   3  迭代标签
      我们一般使用 Iterator 或Enumeration来进行迭代
          
       
        语法1 在Collection中迭代
           
             body
        

        语法2 迭代固定的次数
            
             body
        
 
       例:
         <% Collection users=new ArrayList();
            for(int i=0;i<5;i++)
            {
              TestBean user=new TestBean();
              user.setUser("user");
              user.setAge("age");
              users.add(user);
             }
            session.setAttribute("usert",users);
           %>
          
              
                 
                 
              
          

  
  
        主要用于处理TokenString 的迭代,可以指定一个或者多个分隔符
       
            body
       


         使用"|" 作为分隔符
          
              ©
          

         使用"|," 作为分隔符
          
              ©
          

         
   URL 相关的标签
      就是页面导向,重定向,资源获得,参数传递等相关标签
           
           tstee  
       

        与一样的功能
      
             重定向到另一个资源
            teewe
        


       
          
       
   重定向到test.jsp中同时带上相关参数

       注:在以上所有标签,在jsp中要定义标签:
        <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

   xml标签
     
     
     
     1) 用于解释xml文档
        a, 解释由String 或reader对象产生的xml文档
        
        b, 解释在Body中指定的xml文档
          
               body
           


         例如:
            <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
            <%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
            <%@ page contentType="text/html;charset:gb2312" language="java" %>
            test
           
             
                test1test2
             

            
             
             
            
               
                  
                     java书
                     89
                  

                

            

            
            
             
            



           
              
                
                    jsp书
                    23
                  
                     
                         teee
                         ddddd
                     

                   

                 

              

           

           
              
           
   xml流程控制
  
  
  
  
    
             

   <%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>



  实例


Parse / ForEach




 
          
JSP应用
出版社
xxx
计算机
JSP书

          
              asiapower
             
address:xxxx1

           

           
              hellking
             
address:xxxx2

           

       

          

    
       



  ->
 







  ->
 
  
 

 






  ->
 
 
   author id=2,
  

  
      不是 id=2
  

 

 








SQL相关标签
    用于设定数据源 ,还可以指其范围
   
例:
   <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>


  sql datasource


创建普通的数据源:

  var="example1"
  driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev"
  user="bn"
  password="bn"
/>
创建普通的数据源,把用户名和密码写在url中:

  var="example2"
  driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev;user=bn;password=bn"
/>
获得一个数据源。

  var="example3"
  dataSource="jdbc/bn"
/>


使用第一个数据源:


    SELECT * FROM contact


 
 

   
   
 
 
Name: Value:

使用第二个数据源:


    SELECT * FROM contact


 
 

   
   
 
 
Name: Value:


使用第三个数据源:


    SELECT * FROM contact


 
 

   
   
 
 
Name: Value:





语法:
  
  
       


  例:
   <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>


  标准标签查询


创建普通的数据源:

  var="example"
  driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev"
  user="bn"
  password="bn"
  scope="session"
/>
第一种查询:


    SELECT * FROM contact


 
 

   
   
 
 
Name: mobile:



第2种查询:


  


 
 

   
   
 
 
Name: mobile:



第3种查询:


    SELECT * FROM contact where userName=?
   


 
 

   
   
 
 
Name: mobile:




数据库的更新
  语法:
    
    
    
    
    


   例:

     <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>


  标准标签的使用


第1种更新:更新记录值1


    update contact set mobile='13688888' where userName='asiapower'




第2种更新:更新记录值2


  
  




第3种更新:更新记录值3


    update contact set mobile=? where userName=?
    
    


第4种更新:创建表


  
第5种更新:增加记录

第6种更新:删除记录

  
第7种更新:删除表







   <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>


  param的使用

  var="example"
  dataSource="jdbc/bn"
/>
执行数据添加操作:


    insert into  contact (userName,mobile,phone,mail)values(?,?,?,?)
    wyy
    13634234
    010213423434
    wyy@xtom.com

执行更新操作: