• EL+JSTL


    EL
    1.EL(Expression Language)
    JSP脚本代码:结构混乱,脚本与HTML混合,容易出错代码不易于维护。
    为了解决这些问题推出了EL表达式.使用EL表达式来优化程序代码,增加程序可读性。
    2.EL表达式的作用:
    1.获取域中数据(重点)
    2.执行运算(重点)
    3.获取web常用对象(重点)
    4.调用java方法(了解)

    例:
    取得JavaBean对象的属性
    ${news.title}
    取得数组、List、Map类型对象的元素
    ${list[0]}
    使用各类运算符对原始数据进行简单处理
    ${totalRecordCount/pageSize}
    屏蔽一些常见的异常
    ${username}
    能实现简单的自动类型转换
    $ {news}相当于(News)request.getAttribute("news")


    3.语法:
    EL表达式(Expression Language)
    ${EL 表达式} 例如:${username}
    EL操作符
    操作符“.”
    获取对象的属性,例如:${news.title}
    操作符“[]”
    获取对象的属性,例如:${news["title"]}
    获取集合中的对象,例如:${newsList[0]}

    EL严格区分大小写,初学者严格按规范书写,有利于养成好的编码习惯

    4.El表达式获取域中数据(访问作用域)
    使用jsp中使用小脚本获取servlet传送过来数据内容
      <%=request.getAttribute("rname")%>
      <%=pageContext.getAttribute("pname")%>
      <%=session.getAttribute("sname")%>
      <%=application.getAttribute("aname")%>
    使用El表达式接受Servlet传送过来数据内容
      ${requestScope.rname} 等同于${rname} //请求作用域
      ${pageScope.pname} //页面作用域
      ${seesionScope.sname} //会话作用域
      ${applicationScope.aname} //程序作用域


    通过request的.getSession()方法.setAttribute()方法设置session的内容

    5.EL四个域对象及生命周期
    request 域范围是整个请求链
    application 域范围是整个应用
    session:域范围是整个会话
    pageContext:域范围是一个jsp页面

    6.EL运算符
    ( )                  改变执行的优先级,   例如${3*(4+5)}
    +,-,*,/,%              算术运算符,                例如${3+2}
    ==,!=,>,>=,<,<= 关系运算符,              例如${a==b}或${a eq b}
    &&,||,!                 逻辑运算符,             例如${true&&false}
    ?:                        条件运算符,             例如${a>b?1:2}
    empty 用于检测变量名是否为空,是否等于NULL,例如${empty name}

    empty有两个作用 1.判断是否为null 2.判断容器是否为null或者长度是否为0

    EL在做多个对象运算时,要全写在一个{}内
    ${ param.password1 == param.password2 } √
    ${param.password1} == ${param.password2} ×
    ${ ${param.password1 } == ${ param.password2 } } ×



    JSTL
    1.JSTL(Java Page Standard Tag Library),JSP标准标签库。
    该库包含了一系列开发JSP时用到的一系列标准标签。

    Jstl标签库一共包含了四大标签库
    core:核心标签库,重点
    fmt:格式化标签库,两个主要标签
    sql:数据库标签库,已过时
    xml:xml标签库,已过时

    2.配置环境

    导入jar包jstl.jar和stand.jar包

    在使用标签的jsp页面中使用taglib指令导入标签库。 指定标签库的uri,它不一定是真实存在的网址,但它可以让JSP找到标 签库的描述文件。
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    如果是1.0版本以下去掉jsp
    3.Jstl核心标签
      JSTL core标签库中 12个标签
    1、c:out 输出内容到浏览器端  是否显示转义
    2、c:set 设置值到四种数据范围,设置四个范围中java对象的一个属 性值
    3、c:remove 用来删除四个数据范围的数据
    4、c:catch 捕获程序异常  
    5、c:if 取代页面中if条件语句,记住没有c:else 5}">
    6、c:choose c:when c:otherwise 一起使用 ,取代if elseif else 结构 、switch-case 结构
    7、c:forEach 取代页面中for循环
    8、c:forTokens 切割字符串
    9、c:import 效果和include类似
    10、c:url 完成URL重写 (禁用cookie的session追踪 ) ---- 结合 c:param完成 中文URL
    forEach的属性
       begin属性  :设置循环变量从几开始
          end属性:   设置循环变量到几结束;
               step属性:设置循环变量的步长 
       var属性:定义一个变量,用于接收循环或把数组或集合中遍历的每一个元素 赋值给var指定的变量 
       varStatus属性:就是用来记录循环状态的,它可以创建一个循环vs,该循环变量有如下属性: 
                      count:用来记录循环元素的个数;
                      index:用来记录所循环元素的下标;
                      first:判断当前循环的元素是否是第一个元素;
                      last:判断当前循环的元素是否是最后一个元素;
                      current:代表当前循环的元素。
       
        items属性:指定要循环的变量,可以是一个数组也可以是一个集合,默认是支 持EL表达式 
     
     
     
  • 相关阅读:
    hdu 2822 Dogs (BFS+优先队列)
    hdu 2757 Ocean Currents(BFS+DFS)
    hdu2844 Coins(普通的多重背包 + 二进制优化)
    hdu1495 && pku3414
    hdu1054 Strategic Game(树形DP)
    FckEditor V2.6 fckconfig.js中文注释
    数字文本控件
    统计在线用户列表 for .net WebForm
    智能客户端
    模拟Confirm的Web自定义控件
  • 原文地址:https://www.cnblogs.com/jiayiblog/p/10987619.html
Copyright © 2020-2023  润新知