由於之前在學校寫的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}
