jsp标签和el表达式

jsp标签和el表达式


(1)什么是jsp标签?

      jsp标签类似于html标签(有开始标记,结束标记以及相应的属性),用来代替jsp文件中的java代码。
注:
      a.因为直接在jsp文件中写java代码,不利于jsp文件的维护(比如,将包含有java代码的jsp 文件交给美工去修改就很麻烦),所以,sun才制订了jsp标签技术规范。
       b.可以将jsp标签看作是一个占位符,容器遇到 jsp标签之后,会依据标签名找到对应的标签类, 然后执行标签类中的java代码。
      c.jsp标签的优点:
            c1.可以复用代码
           c2.利于jsp文件的维护

(2)el表达式是什么?

       是一套简单的运算规则,用于给jsp标签的属性 赋值,也可以脱离标签直接使用(输出计算结果)。

(3)el表达式的使用

1)访问bean的属性 (e1.jsp)

方式一

    ${user.name}
执行过程:
     容器依次从pageContext,request,session,application中查找绑订名为"user"的对象(即getAttribute("user")),找到之后,调用该对象的getName方法,然后输出。
注意:
    a.对于null,会转换成"",再输出。
    b.找不到对象,会输出""。
    c,可以使用"pageScope,requestScope, sessionScope,applicationScope"指定查找范围。

方式二

   ${user["name"]} 

注意:
      a.[]里面允许出现变量(绑订名)。
      b.[]里面允许出现从0开始的下标,用于由于访问数组中的某个元素。

2)进行一些简单的计算,计算结果可以用来给jsp的标签的属性赋值,也可以直接输出。

(e2.jsp)
   a.算术运算 "+","-","*","/","%"
     注:
        "+"号运算,只能求和,不能够连接字符串。
   b.关系运算 ">",">=","<","<=","==","!="
   c.逻辑运算 "&&","||","!"
   d.empty运算 用来判断集合是否为空,或者是否是一个空字符串。

3)获取请求参数值 (e3.jsp)

a. ${param.name}
    等价于 request.getParameter("name");
b. ${paramValues.city}
    等价于 request.getParameterValues("city");

(4)jstl(java standard tag lib)

1)jstl是什么?
  apache提供的一套jsp标签,后来捐献给了sun,sun将其命名为jstl。
2)如何使用jstl?
  step1,将jstl相关的jar文件拷贝到 WEB-INF\lib下。
注:
   如果是javaee5.0或者以上的版本,则不用拷贝了(javaee5.0包含了jstl.jar)。
  step2,使用taglib指令引入要使用的标签。
     <%@taglib uri="" prefix=""%>
  uri:标签的命名空间。
  prefix:命名空间的前缀。
3)jstl核心标签  (a1.jsp)
  a. if标签
    <c:if test="" var="" scope="">
   标签体
   </c:if>
 用法:
  当test属性值为true时,容器会执行标签体的内容(html和java代码)。
  test属性一般使用el表达式来进行计算。
  var属性:指定一个绑订名称。
  scope属性:指定绑订范围("page","request","session","application")
  b. choose标签  (a2.jsp)
   <c:choose>
      <c:when test=""></c:when>
      <c:otherwise></c:otherwise>
   </c:choose>
 用法:
   when标签可以出现1次或者多次,表示一个分支条件,当test属性值为true时,执行标签体的内容。otherwise标签可以出现0次或者1次,表示例外。
  c. forEach标签  (a3.jsp)
     <c:forEach items="" var="" varStatus=""></c:forEach>
用法
  forEach标签用来遍历集合或者数组。
  items属性:指定要遍历的集合或者数组,一般使用el表达式来赋值。
  var属性:指定一个绑订名称,绑订值是集合当中的一个元素(每次从集合当中取一个元素),绑订范围是pageContext。
  varStatus属性:指定一个绑订名称,绑订值是一个封装了当前遍历状态的对象,该对象提供了一些方法来返回遍历状态,比如getIndex():返回正在被遍历的元素的下标(从0开始),getCount():返回当前是第几次遍历。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值