JavaWeb學習打卡15(JSP標簽、JSTL標簽、EL表達式)

EL表達式:${ }

  • 獲取數據
  • 執行運算
  • 獲取web開發的常用對象

pom.xml 文件中導入JSP、JSTL相關依賴

        <!--JSP依賴--><!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.3</version></dependency><!--JSTL 表達式依賴--><dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl-api</artifactId><version>1.2</version></dependency><!--JSTL 需要 standard 標準庫--><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency>

使用JSP? 標簽 常用實現頁面跳轉:

創建一個 jsptag . jsp 文件:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><%--JSP表達式常用標簽--%>
<%--    http://localhost:8080/jsptag.jsp?name=xiaoxu&age=18--%><%--跳轉頁面到jsp2.jsp--%><%-- 頁面跳轉攜帶可參數--%><jsp:forward page="jsp2.jsp"><jsp:param name="name" value="xiaoxu"/><jsp:param name="age" value="18"/></jsp:forward></body>
</html>

jsp2.jsp 文件:

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%--自定義錯誤頁面--%>
<%@ page errorPage="error/500.jsp"  %><html>
<head><title>Title</title>
</head>
<body><h1>JSP2的頁面~</h1>  <%--取參數--%>名字:<%=request.getParameter("name")%>年齡:<%=request.getParameter("age")%></body>
</html>

運行結果:

JSTL表達式

JSTL是一個JSP的標準標簽庫,是一個JSP的標簽集合。它封裝了JSP的通用核心功能。

JSTL標簽庫的使用就是為了彌補HTML標簽的不足;它自定義了許多標簽,可以供我們使用,標簽的功能和Java代碼一樣。

包含:格式化標簽、SQL標簽、XML標簽、核心標簽(重點掌握)

核心標簽:

JSTL標簽庫使用步驟

  • 引入對應的taglib
  • 使用其中的方法
  • 注意在Tomcat 也需要引入 jstl 和 standard 的包,否則會報錯:JSTL解析錯誤

<c:if> 使用案例

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--引入JSTL核心標簽庫,我們才能使用JSTL標簽 --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Title</title>
</head>
<body><h3>if測試</h3><hr>
<form action="coreif.jsp" method="get"><%--EL表達式獲取表單中的數據${param.參數名}--%><input type="text" name="username" value="${param.username}"><input type="submit" value="登錄">
</form><%--判斷如果登錄提交的用戶是admin 管理員,就登錄成功
<%
if (request.getParameter("username").equals("admin")){out.print("登錄成功");
}
%>--%>
<c:if test="${param.username == 'admin'}" var="isAdmin" ><c:out value="管理員歡迎你~"/>
</c:if></body>
</html>

運行結果:

<c: set>? <c: choose> 使用:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%--定義一個score變量,值為85--%>
<c:set var="score" value="85"/><c:choose><c:when test="${score>=90}">你的成績為優秀</c:when><c:when test="${score>=80}">你的成績為良好</c:when><c:when test="${score>=70}">你的成績為一般</c:when><c:when test="${score>=60}">你的成績為合格</c:when>
</c:choose>
</body>
</html>

運行結果:

<c:forEach> 使用:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%ArrayList<String> people = new ArrayList<>();people.add(0,"張三");people.add(1,"李四");people.add(2,"王五");people.add(3,"趙六");people.add(4,"田七");request.setAttribute("list",people);
%><%--
var:每一次遍歷出來的變量
items:要遍歷的對象
--%>
<c:forEach var="people" items="${list}"><c:out value="${people}"/><br>
</c:forEach><hr><%--
begin:開始的下標
end:結束的下標
stap:步長
--%>
<c:forEach var="people" items="${list}" begin="1" end="3" step="2"><c:out value="${people}"/><br>
</c:forEach></body>
</html>

運行結果:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916180.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916180.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916180.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

7.22數據結構——順序表

文章目錄一、思維導圖二、實現順序表的功能代碼head.htest.cmain.c一、思維導圖 二、實現順序表的功能代碼 head.h #ifndef __HEAD_H__ #define __HEAD_H__#include <stdio.h> #include <string.h> #include <stdlib.h> //數組的最大長度 #define MAXSIZE …

【如何無限制免費試用 IDEA || Pycharm(JB 全家桶)】

如何無限制免費試用 IDEA || Pycharm(JB 全家桶) 一、目標:解決 JB 全家桶試用時長痛點 如果你是程序員,大概率用過 JetBrains 家的 IDE——IDEA 寫 Java、Pycharm 寫 Python、WebStorm 做前端,體驗確實頂流,但官方 30 天試用到期后,動輒幾千的年費實在讓人肉痛。 咱…

Qt(資源庫和按鈕組)

這一節是對上一節的補充&#xff0c;上一節提到QLabel類和QAabstractButton類&#xff0c;這節內容&#xff1a;1.如設置資源庫&#xff0c;使用資源設置圖片2. 使用按鈕組管理多個按鈕。一、資源庫1. 資源庫作用Qt的資源庫&#xff08;Resource System&#xff0c;.qrc文件&am…

一道檢驗編碼能力的字符串的題目

#include<iostream> #include<vector> #include<string> using namespace std; int bNum0,gNum0; int findEnd(string& s,int si){int lens.size();//當前字母在哪個字符串中,存入comp中string comp;if(s[si]b||s[si]o||s[si]y){comp"boy";bNu…

UniApp X 網絡請求避坑指南:從 JS 到 UTS 的 JSON 數據處理全解析

在 UniApp 開發中&#xff0c;我們經常需要通過 uni.request 獲取服務器返回的 JSON 數據&#xff0c;并將其綁定到頁面或進行邏輯處理。但在 UniApp X&#xff08;基于 UTS&#xff09; 中&#xff0c;由于引入了 強類型語言特性&#xff0c;處理 JSON 數據的方式與 JS 有明顯…

iOS 網絡請求常用依賴庫與系統自帶 API 介紹與示例

iOS 網絡請求常用依賴庫與系統自帶 API 介紹與示例 在 iOS 開發中&#xff0c;進行網絡請求是幾乎所有應用都不可或缺的功能。開發者有多種選擇來處理網絡通信&#xff0c;從系統自帶的 URLSession 到各種流行的第三方庫。下面我將為您介紹 URLSession、AFNetworking、Alamofir…

JavaScript 中 let 在循環中的作用域機制解析

一、let在循環中的特殊性 let作為ES6引入的塊級作用域聲明&#xff0c;在循環結構中存在特殊行為&#xff0c;其核心區別于var的函數作用域特性。理解這一特性對于編寫正確的閉包邏輯至關重要。 在 ECMAScript 規范里&#xff0c;let聲明的變量具有塊級作用域特性&#xff0c;這…

@Subscribe@AllowConcurrentEvents解析這兩個注解

@Subscribe@AllowConcurrentEvents解析這兩個注解 @Subscribe 和 @AllowConcurrentEvents 是 Guava EventBus(Google 開源的事件總線框架)中用于處理事件訂閱的注解,主要用于實現組件間的解耦通信。下面分別解析: 1. @Subscribe 注解 作用:標記一個方法為事件訂閱者方法,…

好看的小程序推廣單頁HTML源碼 可用作導航頁

內容目錄一、詳細介紹二、效果展示1.部分代碼2.效果圖展示三、學習資料下載一、詳細介紹 響應式的小程序推廣單頁HTML源碼。這個設計采用了現代化的UI元素&#xff0c;包含吸引人的標題、特性展示、二維碼區域和行動號召按鈕。 二、效果展示 1.部分代碼 代碼如下&#xff0…

華為倉頡編程語言實踐體驗

華為倉頡編程語言實踐體驗 目前華為倉頡編程語言因為其推出時間較短&#xff0c;生態系統不完善。官網資料權威&#xff0c;但比較龐大難懂。快速實驗入門&#xff0c;是學習一門編程語言的法寶。網上靠譜的資料稀少&#xff0c;特此撰文介紹&#xff0c;幫助初學者減少挫折感&…

YOLOv11實戰,使用YOLOv11訓練自己的數據集和推理(附YOLOv11網絡結構圖)

2024年計算機視覺領域的顛覆性突破,YOLOv11以22%的參數量減少和0.3%的mAP提升重新定義實時目標檢測的邊界 本文將手把手帶你完成YOLOv11的全流程實戰,包含環境配置、數據準備、模型訓練、推理部署及創新優化方案,并深度解析其網絡架構設計思想。 一、YOLOv11核心創新解析 …

macOS xcode打包ios測試ipa應用包

可以參考&#xff1a; https://blog.csdn.net/sinat_34104446/article/details/133684756 過程中遇到很多稀奇古怪的報錯&#xff0c;基本重啟電腦即可解決。。。在我按照上面的步驟申請并導入新證書后&#xff0c;還遇到了一個問題&#xff1a;解決辦法&#xff1a; https://b…

STM32基礎知識學習筆記:ICODE、DCODE、DMA等常見名詞的解釋

基于AI生成內容。 ICODEICODE&#xff1a;指令總線&#xff08;Instruction Bus&#xff09; 主要用于處理 CPU 對程序指令的讀取操作。它是 STM32 存儲架構中重要的組成部分&#xff0c;與數據總線&#xff08;DCODE&#xff09;、系統總線&#xff08;System Bus&#xff09;…

誰將統治AI游戲時代?騰訊、網易、米哈游技術暗戰

游戲行業的“產能天花板”正被AI技術轟然擊穿。騰訊、網易、米哈游……所有的游戲廠商都在押注AI&#xff0c;騰訊混元發布混元游戲視覺生成平臺&#xff0c;分鐘級生成高精度游戲角色&#xff1b;網易《蛋仔派對》借AI實現UGC創作平民化&#xff1b;米哈游新作更以實時多模態對…

基于springboot的工商局商家管理系統

博主介紹&#xff1a;java高級開發&#xff0c;從事互聯網行業六年&#xff0c;熟悉各種主流語言&#xff0c;精通java、python、php、爬蟲、web開發&#xff0c;已經做了六年的畢業設計程序開發&#xff0c;開發過上千套畢業設計程序&#xff0c;沒有什么華麗的語言&#xff0…

ABP VNext + Razor 郵件模板:動態、多租戶隔離、可版本化的郵件與通知系統

&#x1f680; ABP VNext Razor 郵件模板&#xff1a;動態、多租戶隔離、可版本化的郵件與通知系統 &#x1f4da; 目錄&#x1f680; ABP VNext Razor 郵件模板&#xff1a;動態、多租戶隔離、可版本化的郵件與通知系統&#x1f31f; 一、TL;DR&#x1f4c8; 二、系統流程圖…

瘋狂星期四第19天運營日記

網站運營第19天&#xff0c;點擊觀站&#xff1a; 瘋狂星期四 crazy-thursday.com 全網最全的瘋狂星期四文案網站 運營報告 今日訪問量 今日訪問量42&#xff0c;瘋狂之后的冷靜&#xff0c;落差太大~~ 今日搜索引擎收錄情況 必應仍然是24條記錄&#xff0c;無變化 百度0收…

康養休閑旅游服務虛擬仿真實訓室:賦能人才培養的創新路徑

在康養休閑旅游行業數字化轉型與職業教育改革的雙重驅動下&#xff0c;康養休閑旅游服務虛擬仿真實訓室已成為連接課堂教學與崗位實踐的關鍵樞紐。它通過虛擬仿真技術重構康養服務場景&#xff0c;為學生打造沉浸式實踐平臺&#xff0c;在人才培養模式創新中發揮著不可替代的作…

python辦自動化--讀取郵箱中特定的郵件,并下載特定的附件

系列文章目錄 python辦公自動化–數據可視化&#xff08;pandasmatplotlib&#xff09;–生成條形圖和餅狀圖 python辦公自動化–數據可視化&#xff08;pandasmatplotlib&#xff09;–生成折線圖 python辦公自動化–數據可視化&#xff08;pandas讀取excel文件&#xff0c;m…

清理DNS緩存

Cloudflarehttps://1.1.1.1/purge-cacheGooglehttps://dns.google/cacheOpenDNShttps://cachecheck.opendns.comLinux DNS緩存sudo systemd-resolve --flush-caches 或 sudo /etc/init.d/nscd restartWindows DNS緩存ipconfig /flushdnsmacOS DNS緩存sudo dscacheutil -flushca…