国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java_Web之JSTL和EL

2019-11-15 00:17:59
字體:
來源:轉載
供稿:網友
java_Web之JSTL和EL

今天學了JSTL和EL,替換了以前for循環,感覺代碼越來越少了,十分方便。JSTL和EL密不可分。

一、什么是EL表達式?

什么是EL EL即ExPRession Language(表達式語言)EL的功能替代jsp頁面中的復雜代碼EL的語法${  EL exprission }${  bean.name } 或  ${  bean['name'] }

二、EL的特點

自動轉換類型

EL得到某個數據時可以自動轉換類型

對于類型的限制更加寬松使用簡單相比較在JSP中嵌入Java代碼,EL應用更簡單三、EL的語法EL語法以“${”作為開始,以“}”作為結束直接使用變量名獲取值$${ username }變量屬性范圍名稱四、EL中的運算符和EL隱式對象
EL運算符運算符”[ ]”運算符”.”作用獲取對象屬性獲取對象集合中的數據在session中保存了一個(list)集合users

什么是JSTL?

使用JSTL實現JSP頁面中邏輯處理什么是JSTLJSTL(JavaServerPages Standard Tag Library)JSP標準標簽庫JSTL通常會與EL表達式合作實現JSP頁面的編碼

二、JSTL的環境搭建

使用JSTL的步驟創建Web工程,選擇JSTL1.1(目前使用的版本不需要配置,高版本集合在一起)在JSP頁面添加taglib指令使用JSTL標簽

JSTL標準標簽庫介紹

通用標簽

條件標簽

迭代標簽

JSTL和EL案例

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%    String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";        session.setAttribute("username","小明");        List list = new ArrayList();    list.add("a");    list.add("b");    list.add("c");    list.add("d");        request.setAttribute("aa",list);        Map map = new HashMap();    map.put("name","admin");    map.put("pwd","adminpassWord");        request.setAttribute("map",map);        session.setAttribute("map",map);        application.setAttribute("c","123456");    application.setAttribute("c","789");            entity.User user = new entity.User();    user.setUsername("aa");    user.setPassword("bb");    session.setAttribute("user",user);        //request.getParameter();//------param:獲取表單項    //request.getParameterValues();//------paramValues:獲取多個表單項%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>My JSP 'index.jsp' starting page</title>      </head>    <body>   <!--       注意:      EL表達式默認范圍:request      如果沒有確定范圍;那么EL表達式就會按照范圍的順序按個進行查找:request-session-page-appplication      直到遍歷JSP9大內置對象找到相對應的值為止   -->       以前的方式: <%=session.getAttribute("username") %><br/>    EL表達式:${sessionScope.username }<br/>    ${applicationScope.c }<br/>    EL表達式在request取出集合:${aa}<br/>           取出map集合:${map["name"] }<br/>    ${map.pwd }<br/>     EL取出session中map集合:${sessionScope.map.name }<br/>     ${sessionScope.user.username }            <form action="success.jsp" method="post">        username:<input type="text" name="username" /><br/>        password:<input type="password" name="password" /><br/>        love:<input type="checkbox" name="love" value="a" />吃飯<br/>            <input type="checkbox" name="love" value="b" />睡覺<br/>            <input type="checkbox" name="love" value="c" />敲代碼<br/>        <input type="submit" />    </form>  </body></html>

處理頁

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";    String name = request.getParameter("username");    String[] love = request.getParameterValues("love");    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">       <title>My JSP 'success.jsp' starting page</title>    </head>  <!--       JSTL的出現是為了替代以往下載jsp頁面中的java邏輯判斷和選擇判斷語句      EL表達式的出現是為了替代以往的表達式      JSTL一般與EL表達式合作開發動態的jsp頁面   -->   <%       //if(條件)   %>  <body>      <p>      <c:set var="abc" value="${99+1}" scope="session" />      輸出值:<c:out value="${abc}"/>      刪除值:<c:remove var="abc" scope="session" />      刪除之后:<c:out value="${abc}" default="null" />      </p>      <c:if test="${1==1}" var="if1" >          是真的      </c:if>      <!--           empty:判斷當前值是否為空null          如果為null則返回true          否則返回false       -->      <c:if test="${not empty null }" var="if2"></c:if>      <p>          輸出if1結果:<c:out value="${if1}" /><br/>          輸出if2結果:<c:out value="${if2}" /><br/>      </p>       用戶名:${param.username }<br>       密   碼:${param.password }<br>       love:${paramValues.love[0] },${paramValues.love[1] },${paramValues.love[2] }       長度:${fn:length(paramValues.love) }                     <div style="margin-top: 50px">           <%               List list  = new ArrayList();               list.add("a");               list.add("b");               list.add("c");               list.add("d");               list.add("e");                              request.setAttribute("list",list);                          %>           <table border="1">               <c:forEach items="${list}" var="m"  varStatus="statu">                   <tr><td>${m }=====${statu.index }</td></tr>               </c:forEach>           </table>       </div>         </body></html>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安平县| 江北区| 塘沽区| 衡阳市| 乐安县| 盐池县| 长顺县| 衡东县| 德州市| 集贤县| 于都县| 临澧县| 鱼台县| 福泉市| 永善县| 布尔津县| 神池县| 香河县| 陵水| 武隆县| 青冈县| 蒲江县| 堆龙德庆县| 金华市| 布拖县| 扎鲁特旗| 连平县| 临漳县| 陈巴尔虎旗| 巩义市| 阿荣旗| 昌黎县| 崇明县| 罗城| 都兰县| 邵阳县| 张家界市| 汉沽区| 英吉沙县| 长垣县| 和静县|