实训随笔:EL表达式JSON应用

  由于之前在学校写的jsp页面都是夹杂着java代码的,所以之前写了个jsp,满满的<%%>和java代码,老师说那样太不美观了啊!!!要全部用EL表达式替代了。本人还是太笨了,弄了一上午才把页面改回来,其实就一点点的工作量,主要是用json传值的,导致好多问题都在网上找不到解决方案,搜索能力有待提高啊。

  首先要就是要导入包和设置之类的东西吧。

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

  了解EL表达式的语法结构:${expression}

  EL 提供“.“和“[ ]“两种运算符来存取数据。(注意是只提供,所以你的get方法也可以通过这两种方法实现,前提是你的命名规范)

  举例: ${user.My-Name}等同${user["My-Name"] }

  然后主要替代的是循环和判断。

  1、判断好弄:

<c:if test="判断式">
</c:if>

  2、循环雷同:

<c:forEach var="变量名"  items="表达式" varStatus="i">
</c:forEach>

  这就是个循环体了,varstatus是一个类:

    属性名                      数据类型                                意义
      index                        number                    现在指到的集合成员的索引(下标从0开始)
      count                        number                             指到的成员数目
      first                        boolean                    现在指到的集合成员是否为第一个成员
      last                         boolean                    现在知道的集合成员是否为最后一个成员
  比如${i['index']}的值就是你的第几次循环,从0开始数。
  另外用EL存变量的话用<c:set>标签,老师不推荐用,尽量少用。
  
  其实EL标签比java代码好用,就前端来说,而且它可以直接操作json类型,完美适应。还是那两种方法取值,嵌套也可以用中括号索引,非常的方便。
  字符串相加直接在后面写,不用+连接。
  还有一点,运算符号最好在{}内部实现,比如${a.count*b.price},而不能写成${a.count}*${b.price}
posted @ 2015-05-28 11:30  logicvay  阅读(7785)  评论(0编辑  收藏  举报