09 JSTL標簽-核心標簽庫的標簽

導包:

  1. 使用jstl標簽需要導入兩個Jar包:jstl-xxx.jar standard.jar
    下載可以到這里:>http://cn.jarfire.org/
    也可以到菜鳥教程里去下載:>http://www.runoob.com/jsp/jsp-

  2. 把下載的包放到WebContent->WEB-INF->lib下
    jstl.html

  3. 在jsp頁面中使用taglib指令引入標簽庫

    <%--導入核心標簽庫 --%>
<%--
    uri: 表示需要導入的標簽庫的uri名稱。每個標簽庫都會有一個tld后綴名的標簽聲明文件,在tld文件中都有唯一的uri的名稱。這個uri的名稱就是當前標簽庫的名稱。
    prefix: 使用標簽庫的前綴,通用和tld文件的short-name名稱相同
 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

至于怎么獲取uri和shortname呢?
導入完兩個Jar包打下如下文件

Paste_Image.png
Paste_Image.png
<body>
    
    <%--1.
        <c:set/>  給域對象賦值   
        
        var: 數據的名稱
        value: 保存的數據值
        scope: 保存到哪個域。
            page-》page域
            requset->request域
            session->session域
            application->application域
            
        <c:set var="name" value="jacky" scope="request"/>
        <c:out value="${name}"></c:out>
     --%>
     
     
    <%--2.
    <c:out/>   獲取域對象的數據
     
        value: 代表獲取域中的某個名稱內容。如果數據在域中,必須使用EL語法去獲取
        default: 默認值。當前需要獲取的內容為null,那么使用默認值代替
        escapeXml: 默認情況下為true,out標簽會把輸入的內容進行轉義。如果不需要轉義,則為false既可!
    
    <c:out value="${name}" default="<h3>標題3</h3>" escapeXml="false"></c:out>
    --%>
      
      
    <%--3. 
        <c:if/> 單條件判斷
         
        test: 條件表達式。返回true的時候,就會執行if標簽體內容,否則,不執行。
          
        <c:if test="${10>8}">
             <input type="submit" value="提交"/>
        </c:if>
    --%>


    <%--4.
        <c:choose/>+<c:when/>+<c:otherwise/>  多條件判斷
            
        --模擬登錄 --
        <c:set var="user" value="eric" scope="session"></c:set>
        
        <c:choose>
            <c:when test="${!empty sessionScope.user}">
                歡迎回來,你的用戶名是 :eric,<a href="">【退出登錄】</a>
            </c:when>
            <c:otherwise>
                 請先<a href="">注冊</a>或<a href="">登錄</a>              
            </c:otherwise>
        </c:choose>
    --%>

    <%--5.
        <c:forEach/>    用于迭代或循環
        
        begin: 從哪個元素開始遍歷,從0開始
        end: 到哪個元素位置
        step: 增加步長。默認step為 1
        items: 需要遍歷的數據。(數組|List集合|Map集合) 如果是獲取域數據,那么使用EL表達式獲取
        var: 每個元素名稱
        varStatus: 當前狀態對象。該對象封裝當前元素狀態信息。  例如 count屬性: 表示當前遍歷的是哪個元素,從1開始 
        
        <%
            List<Student> list = new ArrayList<Student>();
            list.add(new Student("eric","123456"));
            list.add(new Student("lily","123456"));
            list.add(new Student("maxwell","123456"));
            pageContext.setAttribute("list",list);
        %>
        
        <c:forEach items="${list}" var="student" varStatus="varSta">
            序號:${varSta.count }   姓名:${student.name} - 密碼: ${student.password }<br/>
        </c:forEach>
        
        
        
        <% 
            Map<String,Student> map = new HashMap<String,Student>();
            map.put("001",new Student("eric","123456"));
            map.put("002",new Student("jacky","123456"));
            map.put("003",new Student("rose","123456"));
            pageContext.setAttribute("map",map);
        %>
        
       <c:forEach items="${map}" var="entry">
         編號: ${entry.key } - 姓名:${entry.value.name } - 密碼: ${entry.value.password }<br/>
       </c:forEach>
        
        注意: forEach標簽遍歷Map集合時,把每個Map的對象使用Entry封裝,
             Entry封裝鍵對象和值對象,通過getKey()獲取鍵對象,通過getValue()獲取值對象
     --%> 

     <%--6.
        <c:forToekens/>   遍歷特殊字符串
        
        <c:set var="str" value="java-net-php-平面設計"></c:set>
        
        items: 需要遍歷的字符串
        delims: 指定分割符號
        var: 每個內容的名稱
        
        
        <%
               String str= (String)pageContext.getAttribute("str");
               String[] strs = str.split("-");
               for(int i=0;i<strs.length;i++){
                    out.write(strs[i]+",");
               }
        %>
        
        <c:forTokens items="${str}" delims="-" var="s">
                ${s },
        </c:forTokens>
     --%>
     
    
     <%--7.
        <c:rediect/>  重定向標簽

        <c:redirect url="/03.el3.jsp"></c:redirect>
     --%>
</body>
Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,698評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,202評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,742評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,580評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,297評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,688評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,693評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,875評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,438評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,183評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,384評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,931評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,612評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,022評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,297評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,093評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,330評論 2 377

推薦閱讀更多精彩內容

  • JSP 標準標簽庫(JSTL) JSP標準標簽庫(JSTL)是一個JSP標簽集合,它封裝了JSP應用的通用核心功能...
    FTOLsXD閱讀 336評論 1 2
  • 1什么是JSTLJSTL是apache對EL表達式的擴展(也就是說JSTL依賴EL),JSTL是標簽語言!JSTL...
    TY_閱讀 382評論 0 1
  • 一、JSP基礎 1.1什么是JSP JSP(Java ServerPage)是Java服務器端動態頁面技術。是su...
    晨星資源閱讀 1,167評論 0 6
  • EL表達式 EL作用 jsp的核心語法: jsp表達式 <%=%>和 jsp腳本<% %> 以后開發jsp的原則...
    奮斗的老王閱讀 2,471評論 1 51
  • JSP 基本結構JSP 頁面組成:模板文本(HTML,XML,純文本),JSP 元素;JSP 元素:腳本元素,指令...
    jslancer閱讀 863評論 0 11