JSP入門實(shí)戰(zhàn)下

第一部分簡(jiǎn)單講解:jsp語法的規(guī)范涯贞,以及三大編譯指令,七個(gè)動(dòng)作指令和九大內(nèi)置對(duì)象,生命周期講解等椒袍。這章主要講解el表達(dá)式藕施,核心標(biāo)簽庫寇损。


全部代碼下載:鏈接

1.核心標(biāo)簽庫(JSTL:c)講解:

1.1簡(jiǎn)要介紹:

JSTL全名JspServer Pages Standdard Tag Library(Jsp標(biāo)準(zhǔn)標(biāo)簽庫),它是sun公司發(fā)布的一個(gè)針對(duì)JSP開發(fā)的新組件,它允許使用標(biāo)簽開發(fā)Jsp頁面.JSTL支持通用的、結(jié)構(gòu)化的任務(wù)裳食,比如迭代润绵,條件判斷,XML文檔操作胞谈,國際化標(biāo)簽尘盼,SQL標(biāo)簽。 除了這些烦绳,它還提供了一個(gè)框架來使用集成JSTL的自定義標(biāo)簽卿捎。
JSTL所提供的標(biāo)簽庫主要分為五大類:


09

1.2JSTL庫安裝:

  1. 從Apache的標(biāo)準(zhǔn)標(biāo)簽庫中下載的二進(jìn)包(jakarta-taglibs-standard-current.zip)。下載地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
  2. 將下載的壓縮包解壓径密,將lib下的兩個(gè)jar文件:standard.jar和jstl.jar文件拷貝到Tomcat下lib/目錄下午阵。
  3. 現(xiàn)在就可以通過在頭部包含<taglib>標(biāo)簽使用JSTL了

1.3核心標(biāo)簽庫的使用:

核心標(biāo)簽是最常用的JSTL標(biāo)簽。現(xiàn)在基本上我們也之使用功能核心標(biāo)簽庫享扔,此去只介紹核心標(biāo)簽底桂,對(duì)于其他的標(biāo)簽用法類似。

  1. 引用核心標(biāo)簽庫的語法如下:
<%--導(dǎo)入核心標(biāo)簽庫 --%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" 
  1. 核心標(biāo)簽庫的介紹:


    10
  2. 演示如下:詳細(xì)見注釋
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    import="java.util.*,com.rlovep.entity.Student"
    %> 
<%--導(dǎo)入核心標(biāo)簽庫 --%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>核心標(biāo)簽jiangjie</title>
</head>
<body>
<%--使用標(biāo)簽庫 --%>
<%--set標(biāo)簽:保存數(shù)據(jù)到域中惧眠,默認(rèn)保存到pag域中
    var:屬性名
    value:屬性價(jià)值籽懦,可以是對(duì)象
    scope:范圍
 --%>
<c:set var="name" value="rose" scope="page"></c:set>
<%--out標(biāo)簽: 類似輸出表達(dá)式:<%= %>
    value:顯示的內(nèi)容;
    default:value為空時(shí)顯示的內(nèi)容
    escapexml:是否對(duì)<等實(shí)體符號(hào)轉(zhuǎn)義氛魁;
--%>
<%--el表達(dá)式輸出暮顺,調(diào)用屬性 --%>
<c:out value="${name }" default="<h3>標(biāo)題3</h3>" escapeXml="true"></c:out>
<%--默認(rèn)值測(cè)試,以及輸出特殊字符 --%>
<c:out value="${peace }" default="<h3>標(biāo)題</h3>" escapeXml="true"></c:out>
<hr/>
<%--remove標(biāo)簽:刪除數(shù)據(jù)秀存,默認(rèn)刪除到pag域中
    var:屬性名
    scope:范圍
 --%>
<c:remove var="name" scope="page"/>
<c:out value="${name }" default="刪除name之后" escapeXml="true"></c:out>
<hr/>
<%--catch標(biāo)簽:可以用來取得發(fā)生錯(cuò)誤時(shí)的信息捶码,同時(shí)可以進(jìn)行適當(dāng)處理.相當(dāng)于try catch
    var:保存錯(cuò)誤信息的exception
 --%>
 <c:catch var="e">
 <%
   int a=0,b=10;
    b=b/a;
 %>
 </c:catch>
 <%--輸出錯(cuò)誤信息 --%>
 <c:out value="${e }"/>
<%-- <%
   int a=0,b=10;
    b=b/a;
 %> --%>
 <hr/>
  <%--
    <c:url>標(biāo)簽將URL格式化為一個(gè)字符串,然后存儲(chǔ)在一個(gè)變量中
    var:變量名或链。
    value:url
    context:本地的另一個(gè)工程庫
  --%>
  <%--c:param 在重定向時(shí)當(dāng)參數(shù)用 --%>
  <c:url var="url" value="el.jsp">
    <c:param name="pass" value="peace"/>
  </c:url>
  <a href="${url }">url重定向</a>
   <c:url var="baidu" value="http://wwww.baidu.com"/>
   <a href="${baidu }">百度</a>
<hr/>
<%--<c:import>標(biāo)簽:功能類似于<jsp:import>,但是功能更加強(qiáng)大惫恼。可以導(dǎo)入外部jsp文件澳盐,和保存到輸入流中
    var:輸出保存到string
    varReader:輸出保存到輸入字符流
    url:包含的頁面
 --%>
 <c:import url="/common/header1.jsp" >
  <c:param name="name" value="sisi"/>
  </c:import>
  <hr/>
 <%--c:redirect 標(biāo)簽 可以是絕對(duì)地址 
    url:地址
    context:另外一個(gè)jsp容器
  --%>
<%--  <c:redirect url="el.jsp">
   <c:param name="pass" value="wang"></c:param>
 </c:redirect> --%>
 <%
   Integer score=new Integer(60);
   pageContext.setAttribute("score", score);
 %>
   <%--if標(biāo)簽 :?jiǎn)螚l件判斷
     test:判斷是否為true執(zhí)行
   --%>
    <c:if test="${!empty score}">
        條件成立
    </c:if>
    <hr/>
    <%--choose標(biāo)簽+when標(biāo)簽+otherwirse標(biāo)簽: 多條件判斷 --%>
    <c:set var="score" value="56"></c:set>
        <c:choose>
        <c:when test="${score>=90 && score<=100}">
            優(yōu)秀
        </c:when>
        <c:when test="${score>=80 && score<90}">
            良好
        </c:when>
        <c:when test="${score>=70 && score<80}">
            一般
        </c:when>
        <c:when test="${score>=60 && score<70}">
            及格
        </c:when>
        <c:otherwise>
            不及格
        </c:otherwise>
    </c:choose>
    <%-- forEach標(biāo)簽:循環(huán) --%>
    <%
        //List
        List<Student>  list = new ArrayList<Student>();
        list.add(new Student("rose",18));
        list.add(new Student("jack",28));
        list.add(new Student("lucy",38));
        //放入域中
        pageContext.setAttribute("list",list);
                //Map
        Map<String,Student> map = new HashMap<String,Student>();
        map.put("100",new Student("mark",20));
        map.put("101",new Student("maxwell",30));
        map.put("102",new Student("narci",40));
        //放入域中
        pageContext.setAttribute("map",map);
     %>
     <hr/>
     <%--
      begin="" : 從哪個(gè)元素開始遍歷祈纯,從0開始.默認(rèn)從0開始
      end="":     到哪個(gè)元素結(jié)束。默認(rèn)到最后一個(gè)元素
      step="" : 步長    (每次加幾)  洞就,默認(rèn)1
      items="": 需要遍歷的數(shù)據(jù)(集合) 
      var="": 每個(gè)元素的名稱 
      varStatus="": 當(dāng)前正在遍歷元素的狀態(tài)對(duì)象盆繁。(count屬性:當(dāng)前位置,從1開始,last屬性:最后一個(gè))
           --%>
    <c:forEach items="${list}" var="student" varStatus="varSta">
        序號(hào):
{student.name } - 年齡:${student.age}<br/>

    </c:forEach>
        <hr/>
        <c:forEach items="${map}" var="entry">  
{entry.value.name } - 年齡:${entry.value.age }<br/>

    </c:forEach>
    <hr/>
    <%-- forToken標(biāo)簽: 循環(huán)特殊字符串 --%>
    <%
        String str = "java-php-net-平面";
        pageContext.setAttribute("str",str);
     %>
    <c:forTokens items="${str}" delims="-" var="s" varStatus="status">
        ${s }<br/>
        <c:if test="${status.last }">
        <c:out value="輸出:${status.count}"/>個(gè)元素
        </c:if>
    </c:forTokens>
</body>
</html>

2.EL表達(dá)式語言:

E L(Expression Language) 目的:為了使JSP寫起來更加簡(jiǎn)單旬蟋。 EL 提供了在 JSP 腳本編制元素范圍外使用運(yùn)行時(shí)表達(dá)式的功能油昂。
EL既可以用來創(chuàng)建算術(shù)表達(dá)式也可以用來創(chuàng)建邏輯表達(dá)式。在JSP EL表達(dá)式內(nèi)可以使用整型數(shù),浮點(diǎn)數(shù)冕碟,字符串拦惋,常量true、false安寺,還有null厕妖。
EL使得訪問存儲(chǔ)在JavaBean中的數(shù)據(jù)變得非常簡(jiǎn)單,EL可以訪問內(nèi)置對(duì)象,以及放置在對(duì)象中的屬性挑庶;
EL表達(dá)式作用: 向?yàn)g覽器輸出域?qū)ο笾械淖兞恐祷虮磉_(dá)式計(jì)算的結(jié)果Q越铡!迎捺!

2.1EL語法:${exper}

  1. 輸出基本數(shù)據(jù)類型變量:
    不注明域的范圍時(shí)举畸,從四個(gè)域中獲取:順序?yàn)閜ageScoep / requestScope / sessionScope / applicationScope
    ${name}<%--從指定域中獲取name變量的值--%>
    指定域獲鹊手Α:
    ${pageScope.name} <%--等價(jià)于getAttribute()方法抄沮;--%>
  2. 輸出對(duì)象的屬性值
    ${student.name} 等價(jià)于 (點(diǎn)相對(duì)于調(diào)用getXX()方法)
  3. 使用EL獲取集合對(duì)象

{list[0].age } <%-- list[0]等價(jià)于 (中括號(hào)相對(duì)于調(diào)用get(參數(shù))方法) ((List)pageContext.findAttribute("list")).get(0)--%>

  1. el還可以執(zhí)行算法表達(dá)式
    EL表達(dá)式支持大部分Java所提供的算術(shù)和邏輯操作符:


    11

    演示如下:

比較運(yùn)算
     ${10>5 }<br/>
     ${10<5 }<br/>
     ${10!=10 }
     <hr/>
邏輯運(yùn)算
     ${true && false }<br/>
     ${true || false }<br/>
     ${!false }<br/>
判空
        null 或 空字符串:  empty
     <%
        //String name = "eric";
        //String name = null;
        String name = "";
        pageContext.setAttribute("name",name);
      %>
      判斷null: ${name==null }<br/>
      判斷空字符: ${name=="" }<br/>
     判空:  ${name==null || name=="" }
另一種判空寫法: ${empty name }

2.2EL高級(jí)用法自定義函數(shù):

el表達(dá)語言的自定義函數(shù) 本質(zhì)是為了調(diào)用提供一種方法允許el中調(diào)用某類的靜態(tài)方法:

  1. 自定義函數(shù)使用語法:
    ${rlovep:reverse(student.name)}<%--調(diào)用reverse方法使傳入的student.name反轉(zhuǎn)--%>
  2. 開發(fā)步驟:
    1.在src建立開發(fā)處理類,這個(gè)類包含若干個(gè)靜態(tài)方法岖瑰。當(dāng)然這個(gè)步驟可以省掉使用jdk庫的類也是可以的
    2.使用標(biāo)簽庫定義函數(shù):定義函數(shù)的方式與定義標(biāo)簽的方式相似叛买。增加function標(biāo)簽就行;
    3.使用:增加taglib指令
  3. 演示如下
    建立開發(fā)處理類: MyFuns.java
public static String reverse(String str)
    {
        return new StringBuffer(str).reverse().toString();
    }
    public static int count(String str)
    {
        return str.length();
    }

在webcontent目錄下建立:mytaglib.tld標(biāo)簽庫文件蹋订,增加function標(biāo)簽

<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">
    <description>A tag library exercising SimpleTag handlers.</description>
    <!-- 標(biāo)簽庫的版本 -->
    <tlib-version>1.0</tlib-version>
    <!-- 標(biāo)簽庫前綴 -->
    <short-name>rlovep</short-name>
     <!-- tld文件的唯一標(biāo)記 -->
   <uri>http://rlovep.com</uri>
 <!-- 定義第一個(gè)方法 -->
   <function>
   <!-- 定義方法名 -->
    <name>reverse</name>
    <!-- 定義方法的處理類 -->
    <function-class>com.rlovep.elmethod.MyFuns</function-class>
    <!-- 定義函數(shù)的實(shí)現(xiàn)方法:包括返回值和函數(shù)名以及參數(shù) -->
    <function-signature>java.lang.String reverse(java.lang.String)</function-signature>
   </function>
    <!-- 定義第二個(gè)方法 -->
   <function>
   <!-- 定義方法名 -->
    <name>count</name>
    <!-- 定義方法的處理類 -->
    <function-class>com.rlovep.elmethod.MyFuns</function-class>
    <!-- 定義函數(shù)的實(shí)現(xiàn)方法:包括返回值和函數(shù)名以及參數(shù) -->
    <function-signature>int count(java.lang.String)</function-signature>
   </function>
   </taglib>

增加taglib指令
<%@taglib prefix="rlovep" uri="http://rlovep.com" %>

2.3整體演示如下:

<%@page import="java.util.HashMap,java.util.Map"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="com.rlovep.entity.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!-- 定義標(biāo)簽 -->
<%@taglib prefix="rlovep" uri="http://rlovep.com" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>el表達(dá)式學(xué)習(xí):</title>
</head>
<body>
<%--el的內(nèi)置對(duì)象 --%>
 <%
    pageContext.setAttribute("name", "peace");
    pageContext.setAttribute("age", "22", pageContext.APPLICATION_SCOPE);
 %>
 <%--直接從域中搜索獲得屬性 --%>
 El表達(dá)式:${name }
 <hr/>
 <%--等價(jià)于 --%>
 表達(dá)式:<%=pageContext.findAttribute("name") %>
 <hr/>
 <%--從指定域中獲取屬性 --%>
 EL表達(dá)式:${applicationScope.age}
 <hr/>
 <%--等價(jià)于 --%>
 <%=pageContext.getAttribute("age", pageContext.APPLICATION_SCOPE) %>
 <hr/>
 <%--獲取請(qǐng)求參數(shù) --%>
 請(qǐng)求參數(shù)${param.pass}
 <hr/>
<%--請(qǐng)求頭獲取 --%>
請(qǐng)求頭${header.Host}
<%--還可以獲得初始參數(shù):initparam 以及cookie --%>
<hr/>
<%--el輸出對(duì)象的屬性 ,必須將對(duì)象放入域中--%>
<%
    Student student=new Student("peace",22);
    String a="123";
    //放入域中
   pageContext.setAttribute("student", student);
    //放入list中
    List<Student> list=new ArrayList<Student>();
    list.add(new Student("sisi",22));
    list.add(new Student("nick",20));
    list.add(new Student("lucy",38));
    pageContext.setAttribute("list", list);
    //放入map中
    Map<String,Student> map=new HashMap<String,Student>();
    map.put("100",new Student("mark",20));
    map.put("101",new Student("maxwell",30));
    map.put("102",new Student("narci",40));
    //放入域中
    pageContext.setAttribute("map",map);
%>
<%--使用el獲取對(duì)象值 --%>
{student.age }

 <%--
       ${student.name} 等價(jià)于     (點(diǎn)相對(duì)于調(diào)用getXX()方法)
          <%=((Student)pageContext.findAttribute("student")).getName()%>
       --%>
       <hr/>
       <%--使用EL獲取List對(duì)象 --%>
{list[0].age }<br/>

{list[1].age }<br/>
{list[2].age }

       <%--
       list[0]等價(jià)于       (中括號(hào)相對(duì)于調(diào)用get(參數(shù))方法)
            ((List)pageContext.findAttribute("list")).get(0)
        --%>
        <hr/>
        <%--使用EL獲取Map對(duì)象 --%>       
{map['100'].age }<br/>
{map['101'].age }<br/>
{map['102'].age }<br/>

<%--el還可以執(zhí)行算法表達(dá)式 --%>
<%--el表達(dá)語言的自定義函數(shù) 
本質(zhì)是為了調(diào)用提供一種方法允許el中調(diào)用某類的靜態(tài)方法:
1.在src建立開發(fā)處理類率挣,這個(gè)類包含若干個(gè)靜態(tài)方法。當(dāng)然這個(gè)步驟可以省掉使用jdk庫的類也是可以的
2.使用標(biāo)簽庫定義函數(shù):定義函數(shù)的方式與定義標(biāo)簽的方式相似辅辩。增加function標(biāo)簽就行难礼;
3.增加taglib指令
--%>
此去表達(dá)式調(diào)用函數(shù):<br/>
peace倒轉(zhuǎn):${rlovep:reverse(student.name)}<%--調(diào)用reverse方法使傳入的student.name反轉(zhuǎn)--%>
<br/>
peace字符個(gè)數(shù):${rlovep:count(student.name)}
</body>
</html>

來自一條伊豚wpeace(blog.wpeace.cn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末娃圆,一起剝皮案震驚了整個(gè)濱河市玫锋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讼呢,老刑警劉巖撩鹿,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悦屏,居然都是意外死亡节沦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門础爬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甫贯,“玉大人,你說我怎么就攤上這事看蚜〗懈椋” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渴逻。 經(jīng)常有香客問我疾党,道長,這世上最難降的妖魔是什么惨奕? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任雪位,我火速辦了婚禮,結(jié)果婚禮上梨撞,老公的妹妹穿的比我還像新娘雹洗。我一直安慰自己,他們只是感情好卧波,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布队伟。 她就那樣靜靜地躺著,像睡著了一般幽勒。 火紅的嫁衣襯著肌膚如雪嗜侮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天啥容,我揣著相機(jī)與錄音锈颗,去河邊找鬼。 笑死咪惠,一個(gè)胖子當(dāng)著我的面吹牛击吱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遥昧,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼覆醇,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了炭臭?” 一聲冷哼從身側(cè)響起永脓,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鞋仍,沒想到半個(gè)月后常摧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡威创,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年落午,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肚豺。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溃斋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吸申,到底是詐尸還是另有隱情梗劫,我是刑警寧澤寞奸,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站在跳,受9級(jí)特大地震影響枪萄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猫妙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一瓷翻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧割坠,春花似錦齐帚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至敢朱,卻和暖如春剪菱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拴签。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工孝常, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚓哩。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓构灸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親岸梨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子喜颁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法曹阔,內(nèi)部類的語法半开,繼承相關(guān)的語法,異常的語法次兆,線程的語...
    子非魚_t_閱讀 31,639評(píng)論 18 399
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,811評(píng)論 0 11
  • JSP 基本結(jié)構(gòu)JSP 頁面組成:模板文本(HTML,XML,純文本)稿茉,JSP 元素;JSP 元素:腳本元素芥炭,指令...
    jslancer閱讀 848評(píng)論 0 11
  • 1什么是JSTLJSTL是apache對(duì)EL表達(dá)式的擴(kuò)展(也就是說JSTL依賴EL),JSTL是標(biāo)簽語言恃慧!JSTL...
    TY_閱讀 377評(píng)論 0 1
  • 2012?年?2?月?29?日园蝠,??18:36:00 七年之后的我已然29歲。也許是經(jīng)過了歲月的洗禮與社會(huì)的考...
    小葉_欖仁閱讀 324評(píng)論 0 0