1. 程式人生 > >JavaWeb12-HTML篇筆記(二)

JavaWeb12-HTML篇筆記(二)

Java

pageContext.setAttribute("n3", "30"); pageContext.setAttribute("n4", "40"); %> ${ n1 + n2 + n3 } <h3>EL執行邏輯運算</h3> ${ n1 < n2 } - ${ n1 lt n2 } <!-- less than --><br/> ${ n1 > n2 } - ${ n1 gt n2 } <!-- great than --><br/> ${ n1 <= n2 } - ${ n1 le n2 } <!-- less equal --><br/> ${ n1 >= n2 } - ${ n1 ge n2 } <!-- great equal --><br/> ${ n1 == n2 } - ${ n1 eq n2 } <!-- equal --><br/> <h3>EL執行關系運算</h3> ${ n1<n2 && n3 < n4 } - ${ n1<n2 and n3 < n4 }<br/> ${ n1<n2 || n3 < n4 } - ${ n1<n2 or n3 < n4 }<br/> ${ !(n1 < n2) } - ${ not(n1<n2) } <h3>EL執行三元運算</h3> ${ n1 < n2 ? "正確":"錯誤" } <h3>empty運算</h3> ${ user == null } - ${ empty user } ${ user != null } - ${ not empty user } 【EL操作WEB開發的常用對象11個】 <h1>EL功能三:操作WEB開發常用的對象</h1> <!-- pageScope,requestScope,sessionScope,applicationScope - 獲取JSP中域中的數據 param,paramValues - 接收參數. header,headerValues - 獲取請求頭信息 initParam - 獲取全局初始化參數 cookie - WEB開發中cookie pageContext - WEB開發中的pageContext. --> <h3>接收請求的參數</h3> <%= request.getParameter("id") %> <%= request.getParameter("name") %> <%= Arrays.toString(request.getParameterValues("hobby")) %> <hr/> ${ param.id } ${ param.name } ${ paramValues.hobby[0] } ${ paramValues.hobby[1] } <h3>獲取請求頭</h3> <%= request.getHeader("User-Agent") %> <hr/> ${ header["User-Agent"] } <h3>獲取全局初始化參數</h3> ${ initParam.username } <h3>獲取Cookie中的值</h3> ${ cookie.history.value } <h3>獲取PageContext中的對象</h3> IP地址:${ pageContext.request.remoteAddr } 工程路徑:${ pageContext.request.contextPath ``` } 1.1.1.1 JSTL 【JSTL的概述】 ? 什麽是JSTL: ![](http://i2.51cto.com/images/blog/201805/28/2d62e28f5adfc7371a3730ecca4ea715.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

? 為什麽學習JSTL:

  • JSTL和EL結合 替換頁面中<%%>
    ? JSTL版本:
  • JSTL1.0 :不支持EL表達式.
  • JSTL1.1 和 1.2 :支持EL表達式.
    ? JSTL的標簽庫:包含了五類標簽.
  • core(核心標簽),fmt(國際化標簽),xml(XML標簽),sql(SQL標簽),fn(JSTL提供EL函數庫)
    ? 使用JSTL:
  • 引入JSTL的相關的jar包.
  • 在頁面中引入標簽庫.<%@ taglib uri=”” prefix=””%>
    【JSTL的核心標簽的用法】
  • if
  • forEach
    【JSTL的提供EL的函數庫】
    <h1>JSTL提供的EL的函數庫</h1>
    ${ fn:contains("Hello World","Hello") }
    ${ fn:length("HelloWorld") }
    ${ fn:toLowerCase("ABCDE") }
    <c:forEach var="i" items=‘${ fn:split("a-b-c-d","-") }‘>
    ${ i }
    </c:forEach>
    
    1.1.1 代碼實現:1.1.1.1 創建數據庫:
CREATE TABLE `product` (
  `pid` varchar(32) NOT NULL,
  `pname` varchar(50) DEFAULT NULL,
  `market_price` double DEFAULT NULL,
  `shop_price` double DEFAULT NULL,
  `pimage` varchar(200) DEFAULT NULL,
  `pdate` date DEFAULT NULL,
  `is_hot` int(11) DEFAULT NULL,
  `pdesc` varchar(255) DEFAULT NULL,
  `pflag` int(11) DEFAULT NULL,
  `cid` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1.1.1.2 頁面顯示:

<c:forEach var="p" items="${list }">
<tr>
<td>${ p.pid }</td>
<td>${ p.pname }</td>
<td>${ p.shop_price }</td>
<td>
<c:if test="${ p.is_hot == 1 }">
是
</c:if>
<c:if test="${ p.is_hot != 1 }">
否
</c:if>
</td>
<td>${ p.pdesc }</td>
</tr>
</c:forEach>

JavaWeb12-HTML篇筆記(二)