JavaWebday05

<meta charset="utf-8">

JSP

  1. 指令
    作用:用于配置JSP頁面,導(dǎo)入資源文件
    格式:<%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 ... %>
    分類:

page相關(guān)

  • page: 配置JSP頁面的, *contentType:等同于response.setContentType();1. 設(shè)置響應(yīng)體的mime類型以及字符集, 2. 設(shè)置當(dāng)前jsp頁面的編碼(只能是高級的IDE才能生效复局,如果使用低級工具,則需要設(shè)置pageEncoding屬性設(shè)置當(dāng)前頁面的字符集)
  • import:導(dǎo)包
  • errorPage:當(dāng)前頁面發(fā)生異常后衰伯,會(huì)自動(dòng)跳轉(zhuǎn)到指定的錯(cuò)誤頁面
  • isErrorPage:標(biāo)識當(dāng)前也是是否是錯(cuò)誤頁面。true:是积蔚,可以使用內(nèi)置對象exception, * false:否。默認(rèn)值烦周。不可以使用內(nèi)置對象exception

include

include : 頁面包含的尽爆。導(dǎo)入頁面的資源文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="top.jsp"%>

top.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>這是頭部</h1>
</body>
</html>

taglib 導(dǎo)入資源

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> prefix:前綴,自定義的
注釋:
1. html注釋:
:只能注釋html代碼片段
2. jsp注釋:推薦使用
<%-- --%>:可以注釋所有

內(nèi)置對象: 在jsp頁面中不需要?jiǎng)?chuàng)建读慎,直接使用的對象

一共有9個(gè):

變量名                 真實(shí)類型                        作用
pageContext             PageContext                 當(dāng)前頁面共享數(shù)據(jù)漱贱,還可以獲取其他八個(gè)內(nèi)置對象
request                 HttpServletRequest          一次請求訪問的多個(gè)資源(轉(zhuǎn)發(fā))
session                 HttpSession                 一次會(huì)話的多個(gè)請求間
application             ServletContext              所有用戶間共享數(shù)據(jù)
response                    HttpServletResponse         響應(yīng)對象
page                        Object                      當(dāng)前頁面(Servlet)的對象  this
out                     JspWriter                   輸出對象,數(shù)據(jù)輸出到頁面上
config                  ServletConfig               Servlet的配置對象
exception                   Throwable                   異常對象

EL表達(dá)式

  1. 概念:Expression Language 表達(dá)式語言
  2. 作用:替換和簡化jsp頁面中java代碼的編寫夭委、
  3. 語法:${表達(dá)式}
  4. 注意:
    jsp默認(rèn)支持el表達(dá)式的幅狮。如果要忽略el表達(dá)式
    設(shè)置jsp中page指令中:isELIgnored="true" 忽略當(dāng)前jsp頁面中所有的el表達(dá)式
    ${表達(dá)式} :忽略當(dāng)前這個(gè)el表達(dá)式
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %><%--
  Created by IntelliJ IDEA.
  User: Eric
  Date: 2020/8/31
  Time: 08:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java"  %>
<%--<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="true" %>--%>
<html>
<head>
    <title>Title</title>
</head>
<body>
${3>4}
<br>
\${3>4}
<br>
<h3>算術(shù)運(yùn)算符</h3>
${3+4}
${3*4}
${3/4}
${3%4}
${3 mod 4}
<h3>比較運(yùn)算符</h3>
${3==4}
<h3>邏輯運(yùn)算符</h3>
${3>4 && 3<4}
${3>4 and 3<4}
<h3>empty運(yùn)算符</h3>
<%
    String str = "";
    request.setAttribute("str", str);
    List<String> list = new ArrayList<>();
    list.add("haha");
    request.setAttribute("list", list);
%>
<%--${empty }--%>
${empty str}
${empty list}
${not empty str}
${not empty list}

</body>
</html>

獲取值

  1. el表達(dá)式只能從域?qū)ο笾蝎@取值
  2. 語法:
    1. ${域名稱.鍵名}:從指定域中獲取指定鍵的值
    • 域名稱:
      1. pageScope --> pageContext
      2. requestScope --> request
      3. sessionScope --> session
      4. applicationScope --> application(ServletContext)
<%--
  Created by IntelliJ IDEA.
  User: Eric
  Date: 2020/8/31
  Time: 09:31
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
// 在域中存儲(chǔ)數(shù)據(jù)
    session.setAttribute("name", "李四");
    request.setAttribute("name", "張三");
    session.setAttribute("age", "23");
    request.setAttribute("str", "");
%>
<h3>el獲取值</h3>
${requestScope.name}
${sessionScope.name}
${sessionScope.age}
${name}
</body>
</html>

  1. ${鍵名}:表示依次從最小的域中查找是否有該鍵對應(yīng)的值,直到找到為止株灸。

  2. 獲取對象崇摄、List集合、Map集合的值

    1. 對象:${域名稱.鍵名.屬性名}

      • 本質(zhì)上會(huì)去調(diào)用對象的getter方法
        · 2. List集合:${域名稱.鍵名[索引]}
        Map集合:



        {域名稱.鍵名["key名稱"]}

<%@ page import="neusoft.el.User" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.HashMap" %><%--
  Created by IntelliJ IDEA.
  User: Eric
  Date: 2020/8/31
  Time: 09:35
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        User user = new User();
        user.setName("小桌子");
        user.setAge(23);
        user.setBirthday(new Date());
        request.setAttribute("u", user);

        List<Object> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add(user);
        request.setAttribute("list", list);

        HashMap<String, Object> map = new HashMap<>();
        map.put("sname", "趙四");
        map.put("gender", "男");
        map.put("user", user);
        request.setAttribute("map", map);

    %>

<h1>el獲取對象中的值</h1>
${requestScope.u}
<%--    對象屬性獲取
       setter 或者 getter方法  去掉 set和get
        將剩余部分首字母變?yōu)樾?        getName() ---> Name ----> name
--%>
${requestScope.u.name}<br>
${u.age} <br>
${u.birthday}<br>

<h3>獲取list值</h3>
    ${requestScope.list}
    ${list}
    ${list[0]}
    ${list[2]}
    ${list[2].name}
    <h5>list[10]</h5>
    ${list[10]}
<h3>獲取map值</h3>
    ${requestScope.map}
    ${map}
    ${map.gender}
    ${map["gender"]}
    ${map.user.name}

</body>
</html>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慌烧,一起剝皮案震驚了整個(gè)濱河市逐抑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屹蚊,老刑警劉巖厕氨,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件进每,死亡現(xiàn)場離奇詭異,居然都是意外死亡命斧,警方通過查閱死者的電腦和手機(jī)田晚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來国葬,“玉大人贤徒,你說我怎么就攤上這事∥赶В” “怎么了泞莉?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長船殉。 經(jīng)常有香客問我鲫趁,道長,這世上最難降的妖魔是什么利虫? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任挨厚,我火速辦了婚禮,結(jié)果婚禮上糠惫,老公的妹妹穿的比我還像新娘疫剃。我一直安慰自己,他們只是感情好硼讽,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布巢价。 她就那樣靜靜地躺著,像睡著了一般固阁。 火紅的嫁衣襯著肌膚如雪壤躲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天备燃,我揣著相機(jī)與錄音碉克,去河邊找鬼。 笑死并齐,一個(gè)胖子當(dāng)著我的面吹牛漏麦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播况褪,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼撕贞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了窝剖?” 一聲冷哼從身側(cè)響起麻掸,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赐纱,沒想到半個(gè)月后脊奋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體熬北,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年诚隙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讶隐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡久又,死狀恐怖巫延,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情地消,我是刑警寧澤炉峰,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站脉执,受9級特大地震影響疼阔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜半夷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一婆廊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巫橄,春花似錦淘邻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至彩倚,卻和暖如春贴浙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背署恍。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜻直,地道東北人盯质。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像概而,于是被迫代替她去往敵國和親呼巷。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348