EL表达式和JSTL

JSTL学习资料:http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm 

EL表达式:Expression language (表达式语言)

EL作用:替代JSP页面中数据访问时的复杂编码

 

El表达式

语法: ${EL expression}       

          ${参数对象.属性名}      ${param.name} 

                     

 

1.通过变量名取值             

 按照:   Page>request>session>application 的作用域顺序依次查找,找到就返回,否则就返回null

  eg: ${usernmae}

 

2.获取对象的属性值     

  • 点操作符     eg: ${user.name}      
  • []操作符      eg: ${user["name]} 

3.获取集合元素  -List  -Map    注意:当键为Int类型时  不能使用点操作符来获取值

list tests=new ArrayList();                  

      ${tests[0]}                                                

      ${names[1]}

4.执行表达式

  • 关系操作符

           ==(或eq)       等于      eg:   ${23==5} 或  ${23eq5}       返回false

           !=(或ne)       不等于    eg:   ${23!=5} 或  ${23ne5}       返回true

           <(或lt)           小于       eg:   ${23<5} 或  ${23lt5}       返回false

           >(或gt)         大于       eg:   ${23>5} 或  ${23gt5}       返回true

           <=(或le)        小于等于       eg:   ${23<=5} 或  ${23le5}       返回false

          <=(或gt)         大于等于       eg:   ${23>=5} 或  ${23gt5}       返回true

  • 逻辑操作符

      &&(或and)             并且           

      ||(或or)                  或者

      !或not)                 非

  • empty操作符

   如果a为空的话 ${empty a} 返回true  ${not empty a} 返回为false

 

EL隐式对象

  • 作用域访问对象 

       PageScope

       requestScope

       sessionScope

       applicationScope

  • 参数访问对象

        param

        paramValues

  • JSP隐式对象

         pageContext

JSTL

 JSTL:(Jsp Standard Tag Library)  ---Jsp标准标签库

  1. 需要在项目中导入JSTLJar包(Java EE5.0 以上不需要导入)
  2. 在JSP页面添加taglib指令  

               <%@  taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

  1. 使用JSTL标签

 

JSTL标准标签库

核心标签库

通用标签

  • set   :设置指定范围(四大作用域)内的变量值  

                   将value值储存到范围为scope的变量variable中(var为变量名)

                    eg:    如果不设置scope则默认page

                    将value值设置到对象的属性中

                     eg:

 

                    

  • out  :计算表达式并将结果输出显示  

            指定默认值       eg:

   不指定定默认值       eg:   

           转义特殊字符                "/>  可以输出a标签  false不对特殊字符转义,

 

         

  • remove  :删除指定范围内的变量

     

             // var:指定删除的变量名  scope:指定域(范围)

 

条件标签

  • if

         

   

                             如果test为true则执行

   

            test:接收true或false     var:储存返回的true或false    scope:指定把var存放在哪个作用域中

  • choose  : 实现 if  else if else 语句


              


                     内容2

             

              


                     内容3

             

 

标签的使用必须符合以下语法规则:

 

不能单独使用,它们必须位于父标签中。

 

标签中可以包含一个或多个标签。

 

标签中可以不包含标签。

 

标签中如果同时包含标签,那么必须位于标签之后。

 

迭代标签

  • forEach  :实现对集合对象的遍历
           
              
              操作

            

 

你可能感兴趣的:(EL表达式和JSTL)