未知數(shù)據(jù)

          從頭看Java

             ::  :: 聯(lián)系 :: 聚合  :: 管理
            28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          1. EL簡介

              EL,Expression Lanauage,原本是JSTL1.0中方便存取數(shù)據(jù)所定義的語言。當(dāng)時只能在JSTL標(biāo)簽中使用。如

          <c:out value="${3+7}">。

             到了JSP2.0以后,EL被正式納入標(biāo)準(zhǔn)規(guī)范之一。因此,要在jsp頁面中直接使用EL,容器必須是至少支持Servlet2.4/JSP2.0的,而如Tomcat4.1.29,只支持servlet2.3/JSP1.2,所以不能在jsp頁面中直接使用EL。

          2. EL語法

              2.1 運算符--.和[]

              ${sessionScope.user.sex}

              ${sessionScope.user["sex"]}

          相當(dāng)于:

              User user = (User)session.getAttribute("user");

              String sex = user.getSex();

          需要注意的兩點:

              1. 當(dāng)屬性名稱中有特殊字符,如“_”時,必須使用[].

                  ${sessionScope.user.my_name}不正確,應(yīng)改為$(sessionScope.user["my_name"]);

              2. 使用變量時,必須使用[].

                  ${sessionScope.user[data]}. data="name"時,相當(dāng)于${sessionScope.user["name"]}.但不能使用${sessionScope.user.data}.

              3. 關(guān)系運算符,使用${param.password1 == param.password2},不能寫成${param.password1} == ${param.password2}

              4. ${empty param.username} = ${param.username == null}判斷是否為空或為null。

              2.2 變量

              $(username)

              沒有指定范圍的時候,會依次在Request,session,Application中查找username,找到就返回不再繼續(xù);否則返回null

              2.3 自動類型轉(zhuǎn)換

              ${param.count+10}

          相當(dāng)于:

              String str = request.getParamter("count");

              int count = Integer.ParseInt(str);

              count = count + 10;  

              2.4 隱含對象

                a. 范圍相關(guān):pageScore,requestScore,sessionScore,applicationScore

                    這4個隱含對象只能用來取得范圍屬性值,也就是getAttribute(String name),不能取得其他信息比如請求參數(shù)或表頭信息等。

                b. 輸入相關(guān):param,paramValues

                    ${param.name} = request.getParameter(String name)

                    ${paramValues} = request.getParameterValues(String name),獲取復(fù)選框值的時候使用。eg:${paramValues.habit[0]},${paramValues.habit[1]}

                    <fmt:questEncoding value="GB2312" /> = request.setCharacterEncoding("GB2312")

                c. 其他:        cookie,header,headerValues,initParam,pageContext

                   c1.  cookie以key、value的方式將sessionTracking中的內(nèi)容記錄在一個文本文件中。從cookie中獲取值,${cookie.username}

                   c2.  header存儲用戶瀏覽器和服務(wù)端用來溝通的數(shù)據(jù),當(dāng)用戶要求服務(wù)端的網(wǎng)頁時,會送出一個記載要求信息的標(biāo)頭文件。包括用戶瀏覽器的版本,用戶計算機的區(qū)域等相關(guān)數(shù)據(jù)。eg:${header["User-Agent"]}獲取用戶瀏覽器版本.同一標(biāo)頭有不同值的話,使用headerValues來獲取

                   c3.  ${initParam.userid} 從web.xml中設(shè)定的值,相當(dāng)于String userid=(String)application.getInitParameter("userid");

                   l<context-param>

                   l<param-name>userid</param-name>

                   l<param-value>mike</param-value>

                   l</context-param>

                   l

                   c4. 使用${pageContext}獲取其他有關(guān)用戶要求或頁面的信息

                   ${pageContext.request.queryString}:獲取請求的參數(shù)字符串

                   ${pageContext.request.requestURL}:獲取請求的URL,但不包含請求的參數(shù)字符串

                   ${pageContext.request.contextPath}:服務(wù)的web application名稱

          posted on 2009-03-22 09:59 wangjc 閱讀(346) 評論(0)  編輯  收藏 所屬分類: 從頭看Java
          主站蜘蛛池模板: 马公市| 汉川市| 博白县| 龙山县| 凯里市| 白水县| 体育| 盘山县| 溧阳市| 法库县| 富蕴县| 静宁县| 邵武市| 沁水县| 噶尔县| 舟山市| 满城县| 临湘市| 出国| 合川市| 久治县| 浏阳市| 彭水| 泊头市| 天台县| 遵义县| 喀喇| 宝山区| 贵溪市| 昆明市| 会泽县| 叙永县| 米泉市| 疏勒县| 仲巴县| 新化县| 海宁市| 锦州市| 邻水| 长葛市| 扎鲁特旗|