未知數(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 運(yùn)算符--.和[]

              ${sessionScope.user.sex}

              ${sessionScope.user["sex"]}

          相當(dāng)于:

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

              String sex = user.getSex();

          需要注意的兩點(diǎn):

              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)系運(yùn)算符,使用${param.password1 == param.password2},不能寫成${param.password1} == ${param.password2}

              4. ${empty param.username} = ${param.username == null}判斷是否為空或?yàn)閚ull。

              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)頭文件。包括用戶瀏覽器的版本,用戶計算機(jī)的區(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 閱讀(351) 評論(0)  編輯  收藏 所屬分類: 從頭看Java
          主站蜘蛛池模板: 伽师县| 吉隆县| 大连市| 莎车县| 遂溪县| 延庆县| 呼图壁县| 临颍县| 乳源| 辽阳市| 西峡县| 临城县| 南汇区| 容城县| 邯郸县| 大同市| 星子县| 呼伦贝尔市| 汉寿县| 上思县| 惠东县| 辉南县| 五台县| 屏边| 且末县| 西昌市| 凤城市| 丹寨县| 桂东县| 阳曲县| 黔西县| 阳信县| 建湖县| 临高县| 洪江市| 集安市| 滨海县| 广汉市| 天水市| 迁安市| 邓州市|