本文爲博主辛苦總結,但願本身之後返回來看的時候理解更深入,也但願能夠起到幫助初學者的做用.
轉載請註明 出自 : luogg的博客園 謝謝配合!
語法:${}html
<% request.setAttribute("name", "小花"); session.setAttribute("name", "小傻"); pageContext.setAttribute("name", "小鳳");//按照最小的輸出 application.setAttribute("name", "小四"); request.setAttribute("name.name","小花花"); %> ${name }//名字相同狀況,輸出做用範圍最小的,pageContext ${pageScope.name } ${requestScope.name } ${sessionScope.name } ${applicationScope.name}
<% String [] arrs = {"美美","波波","東東","名名"}; request.setAttribute("arrs", arrs); %> ${ arrs[2] }//東東
<% List<String> list = new ArrayList<String>(); list.add("美美"); list.add("小鳳"); list.add("芙蓉"); request.setAttribute("list", list); %> ${ list[1] }//小鳳
<% Map<String,String> map = new HashMap<String,String>(); map.put("aa", "美美"); map.put("bb", "小鳳"); request.setAttribute("map", map); %> ${ map.bb }//小鳳
<% List<User2> uList = new ArrayList<User2>(); uList.add(new User2("banzhang","123")); uList.add(new User2("美美","abc")); request.setAttribute("uList", uList); %> ${ uList[1].username } =========================== List<EmpBean> list = empDao.showByPage(1, searchBean); request.setAttribute("list", list); ${list[0].name }
加減乘除 ${1+2}
關係運算 gt小於 lt大於 eq等於 ne不等於 ge大於等於 le小於等於java
pageScope
requestScope
sessionScope
applicationScopeweb
param 獲取單個請求參數,form表單提交過來的參數.${param.name }
paramValues 獲取捆綁數組參數,form表單中input有多個輸入而且name同樣,${paramValues.password[1] }
header
headerValues
initParam 獲取全局初始化參數
pageContext數組
JSTL(JSP Standard Tag Library)JSP標準標籤庫,做用:和EL表達式一塊兒 取代<% %>session
1.0 1.1和1.2(區別不大)
1.0EL表達式沒有歸入規範
1.1和1.2EL表達式歸入規範app
1.下載jar包,導入到工程中
jstl.jar , standard.jar
2.導入jar包,引入標籤庫
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>jsp
<c:out>
輸出內容屬性 : value 輸出的內容(常量或變量)
default:找不到value時候輸出
escapeXml:默認是true,進行轉義,false不轉義,原樣輸出.
<c:out value=">${list[1] }<" escapeXml="true">找不到</c:out>
defalut能夠寫在標籤內部,也能夠寫在兩個標籤中間.code
<c:set>
1 <c:set value="花花" var="name" scope="request"></c:set> <c:out value="${requestScope.name }"></c:out> 2 <%UserBean userBean = new UserBean(); request.setAttribute("userBean", userBean); %> <c:set target="${userBean }" property="loginName" value="美美"></c:set> <c:out value="${userBean.loginName }"></c:out> 3 <%Map<String,String> map = new HashMap<String,String>(); //map.put("第一", "小王"); //map.put("第二", "小鳳"); request.setAttribute("map", map); %> <c:set target="${map }" property="name" value="麗麗"></c:set> <c:out value="${map.name }"></c:out>//麗麗 4完全在jsp中拜託java代碼 <jsp:useBean id="userBean" class="com.luogg.bean.UserBean"></jsp:useBean> <c:set target="${userBean }" property="loginName">花花</c:set> <c:out value="${userBean.loginName} "></c:out>
value object 值
var String 表達value的屬性
scope String var的有效範圍
target String 設置的屬性對象,必須是JavaBean或者Map對象
property Object target對象中的屬性名orm
target給的是Bean,property就是Bean的屬性名,給的是map,他就是keyhtm
<c:set value="27" var="age"></c:set> 1.if的練習 <c:if test="${age>25 }"> <c:out value="還很年輕"></c:out>//還很年輕 </c:if> 2.choose的練習 <c:choose> <c:when test="${age>0 && age<25 }"> <c:out value="還很年輕"></c:out> </c:when> <c:when test="${age>25 && age<40}"> <c:out value="不怎麼年輕了"></c:out>//不怎麼年輕了 </c:when> <c:otherwise> 嗯... </c:otherwise> </c:choose>
var 參數名字
items將要迭代的集合
varStatus表示迭代的狀態,能夠訪問迭代自身的狀態
begin end step迭代步長
1.集合的迭代 <!--花花 小麗 小鳳--> <% List<String> list = new ArrayList<String>(); list.add("花花"); list.add("小麗"); list.add("小鳳"); request.setAttribute("list", list); %> <c:forEach items="${requestScope.list }" var="iteror"> ${iteror } </c:forEach> 2.迭代Bean,返回 `List<EmpBean>` <c:forEach items="${list }" var="EmpBean"> <td>${EmpBean.empID}</td> <td>${EmpBean.firstName}</td> </c:forEach> 3.foreach能夠做爲for循環 <!--1 2 3 4 5 6 7 8 9 10--> <c:forEach begin="1" end="10" step="1" var="i"> ${i } </c:forEach> 4.foreach能夠獲取迭代自身的狀態,好比獲取到這次迭代的索引,已迭代的數量,是否第一個迭代對象,是否最後一個迭代對象。 <!--0 花花 1 true false; 1 小麗 2 false false; 2 小鳳 3 false true; --> <% List<String> list = new ArrayList<String>(); list.add("花花"); list.add("小麗"); list.add("小鳳"); request.setAttribute("list", list); %> <c:forEach items="${list }" var="list" varStatus="id"> ${id.index } 迭代到哪一個 ${list } 跌倒的元素 ${id.count } 迭代次數 ${id.first } 是不是第一個 ${id.last }; 是不是最後一個