JSP、EL 表达式、JSTL
一、什么是 JSP1. 概念JSPJava Server Pages是由Sun公司推出的一种动态网页开发技术它允许在HTML页面中嵌入Java代码运行在服务器端依赖Tomcat等Web服务器最终被服务器编译成Servlet再将处理后的静态HTML页面响应给客户端浏览器。核心区别静态HTML纯标签组成内容固定无法动态生成数据比如根据用户登录状态显示不同内容JSPHTML Java代码运行在服务端能动态拼接数据、处理业务逻辑返回个性化的HTML页面。简单理解HTML 是纯静态页面只能写标签不能写 Java 代码JSP HTML Java 代码运行在 Tomcat 服务器可以动态拼接页面数据。2. 核心特点兼容 HTML 标签直接写页面布局支持嵌入 Java 代码实现动态数据展示运行时会被 Tomcat 编译成 Servlet本质就是 Servlet早期 Java Web 核心技术用于前后端不分离项目。3. JSP 基础脚本了解即可脚本片段% java代码 %% String name 张三; int age 20; %输出表达式% 变量/数据 %姓名% name %缺点代码混乱、Java 和 HTML 混写、维护极差所以后面用EL JSTL替代脚本。二、EL 表达式 基础1. 概念ELExpression Language表达式语言专门用来在 JSP 中快速获取域对象数据替代% %脚本。语法超级简单${ 表达式 }2. 核心作用从四大域中取值pageContext、request、session、application自动判空空数据不会输出null简化对象、集合、数组取值。3. 常用示例取普通数据% request.setAttribute(msg,Hello JSP); % !-- EL取值 -- ${msg}取对象属性${user.name} ${user.age}运算${10 20} ${age 18}4. 优势写法简洁、无 java 硬编码自动忽略 null页面更整洁配合 JSTL 标签使用彻底告别 JSP 脚本。三、JSTL 标签库 基础1. 概念JSTLJSP Standard Tag LibraryJSP 标准标签库是一套自定义标签用标签代替 Java 代码。解决问题JSP 页面大量 Java 代码可读性差、难维护。2. 使用前提导入 JSTL 依赖 jar 包JSP 页面头部引入标签库% taglib prefixc urihttp://java.sun.com/jsp/jstl/core %3. 常用核心标签c 标签1条件判断c:ifc:if test${age 18} 成年人 /c:if2循环遍历c:forEach遍历集合、数组日常使用最多!-- items要遍历的集合 var每一项变量名 -- c:forEach items${userList} varuser div${user.name} -- ${user.age}/div /c:forEach3赋值、输出c:set varnum value100/ c:out value${num}/四、三者关系重点记忆JSP载体页面是容器EL 表达式负责取值、运算JSTL 标签负责判断、循环、逻辑处理组合使用公式JSP 页面 HTML 布局 JSTL 标签 (逻辑) EL 表达式 (取值)完全抛弃老旧 Java 脚本页面整洁易维护。五、完整小案例可直接运行% page contentTypetext/html;charsetUTF-8 languagejava % % taglib prefixc urihttp://java.sun.com/jsp/jstl/core % html head titleJSPELJSTL案例/title /head body %-- 域中存数据 --% % request.setAttribute(name,Java学习); % %-- EL取值 --% h3标题${name}/h3 %-- JSTL 判断 --% c:set varscore value85/ c:if test${score 60} p成绩合格/p /c:if /body /html六、总结JSP动态网页技术融合 HTML 与服务端代码EL${}快速取值、做运算简化页面数据获取JSTLc:xxx标签实现循环、判断等业务逻辑三者是Java Web 传统动态页面标配组合