未知數據

          從頭看Java

             ::  :: 聯系 :: 聚合  :: 管理
            28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          1. EL簡介

              EL,Expression Lanauage,原本是JSTL1.0中方便存取數據所定義的語言。當時只能在JSTL標簽中使用。如

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

             到了JSP2.0以后,EL被正式納入標準規范之一。因此,要在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"]}

          相當于:

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

              String sex = user.getSex();

          需要注意的兩點:

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

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

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

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

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

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

              2.2 變量

              $(username)

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

              2.3 自動類型轉換

              ${param.count+10}

          相當于:

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

              int count = Integer.ParseInt(str);

              count = count + 10;  

              2.4 隱含對象

                a. 范圍相關:pageScore,requestScore,sessionScore,applicationScore

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

                b. 輸入相關:param,paramValues

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

                    ${paramValues} = request.getParameterValues(String name),獲取復選框值的時候使用。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中的內容記錄在一個文本文件中。從cookie中獲取值,${cookie.username}

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

                   c3.  ${initParam.userid} 從web.xml中設定的值,相當于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}獲取其他有關用戶要求或頁面的信息

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

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

                   ${pageContext.request.contextPath}:服務的web application名稱

          posted on 2009-03-22 09:59 wangjc 閱讀(348) 評論(0)  編輯  收藏 所屬分類: 從頭看Java
          主站蜘蛛池模板: 拜泉县| 苍南县| 萨嘎县| 乐业县| 唐海县| 黑龙江省| 曲靖市| 长沙县| 桑植县| 四会市| 蒙阴县| 博罗县| 磴口县| 嘉义市| 广宁县| 崇明县| 伊春市| 化州市| 安庆市| 舟山市| 天峨县| 茶陵县| 革吉县| 松滋市| 盐亭县| 平塘县| 乾安县| 河池市| 沁源县| 辉县市| 南宁市| 桦甸市| 乾安县| 宁晋县| 漠河县| 昌平区| 堆龙德庆县| 丰台区| 织金县| 恩施市| 保德县|