转载

实训随笔: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}

正文到此结束
Loading...