由于之前在学校写的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}