当前位置: 首页 > news >正文

JSP标签JSTL标签EL表达式

<dependency><!-- JSTL表达式的依赖 --><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl-api</artifactId><version>1.2</version></dependency><!--standard标签库 --><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency>

EL表达式:${}

  • 获取数据
  • 执行运算
  • 获取web开发的常用对象
<input type="text"name="username"value="${param.username}">
<form action="coreif.jsp"method="get"><%--EL表达式获取表单中的数据 ${param.参数名}--%><input type="text"name="username"value="${param.username}"><input type="submit"value="登录"></form>

JSP标签

转发

<jsp:forward page="jsptag2.jsp"></jsp:forward>

携带参数

可以配合转发或者文件包含使用

  • 转发的时候默认携带参数进行请求
<%--http://localhost:8081/jsptag.jsp?name=root&passwd=root--%><jsp:forward page="jsptag2.jsp"><jsp:param name="name"value="root"/><jsp:param name="passwd"value="root"/></jsp:forward>
<jsp:include page="jsptag2.jsp"><jsp:param name="name"value="root"/><jsp:param name="passwd"value="root"/></jsp:include>

取出参数

jsptag2.jsp

<%@ page contentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</title></head><body><h1>这是jsptag2的页面</h1><%--取出参数--%>用户名:<%=request.getParameter("username")%>密码:<%=request.getParameter("password")%></body></html>

jsptag.jsp

<%@ page contentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</title></head><body><%--http://localhost:8081/jsptag.jsp?name=root&passwd=root--%><jsp:forward page="jsptag2.jsp"><jsp:param name="username"value="root"/><jsp:param name="password"value="root"/></jsp:forward></body></html>

jsptag.jsp页面可以看见转发的时候默认携带参数了,而jsptag2.jsp接受参数的时候还需要在网页中输入请求的参数

文件包含

<jsp:include page="jsptag2.jsp"></jsp:include>

JSTL表达式

JSTL标签库的使用是为了弥补HTML标签的不足;它自定义了许多的标签,可以供我们使用,标签的功能和Java代码一样!

  • 格式化标签
  • SQL标签
  • XML标签
  • 核心标签(掌握部分)

核心标签

JSTL标签库使用步骤

  • 引入对应的taglib
  • 使用其中的方法
  • 在Tomcat也需要引入jstl的包,否则会报错:JSTL解析错误

c:if

核心

<c:iftest="${param.username=='admin'}"var="isAdmin"><c:out value="管理员登陆成功"/></c:if><c:iftest="${not isAdmin}"><c:out value="普通用户"/></c:if>

coreif.jsp

<%@ page contentType="text/html;charset=UTF-8"language="java"%><%--引入JSTL核心标签库,我们才能使用JSTL标签 core--%><%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%><h4>if测试</h4><hr><form action="coreif.jsp"method="get"><%--EL表达式获取表单中的数据 ${param.参数名}--%><input type="text"name="username"value="${param.username}"><input type="submit"value="登录"></form><%--判断如果提交的用户名是管理员,则登陆成功<%if(request.getParameter("username").equals("admin")){out.print("登陆成功");}%>--%><c:iftest="${param.username=='admin'}"var="isAdmin"><c:out value="管理员登陆成功"/></c:if><c:iftest="${not isAdmin}"><c:out value="普通用户"/></c:if></body></html>

c:set

定义一个变量score的值

<c:setvar="score"value="85"/>

c:choose

<c:choose><c:when test="${score>=90}">优秀</c:when><c:when test="${score>=85}">良好</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>

c:forEach

<%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@ pageimport="java.util.ArrayList"%><%@ page contentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</title></head><body><%ArrayList<Object>people=newArrayList<>();people.add(0,"张三");people.add(1,"BB");people.add(2,"CC");people.add(3,"DD");people.add(4,"EE");request.setAttribute("list",people);%><%--var,每一次遍历出来的变量 items,遍历的集合 begin,哪里开始到哪里 end,到哪里 step,步长--%><c:forEachvar="people"items="${list}"><h1><c:out value="${people}"/></h1><br></c:forEach><hr><c:forEach begin="1"end="3"step="1"items="${list}"var="people"></c:forEach><%--等价于上面<%for(inti=0;i<2;i++){}%>--%></body></html>

如果是前端html弄出数据就要写50行代码,但是c:forEach 一行就够了

http://www.jsqmd.com/news/115618/

相关文章:

  • 大数据工程师必看:批处理性能优化的10个黄金法则
  • ProcessExplorer_17.09_x64-Chs 新版本升级:我看到的区别与优势(含升级思路与注意点)
  • SpringBoot勤工助学信息管理高效的平台|1125(领完整源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、全套文案
  • COMSOL激光超声仿真:激光激发超声波的产生瑞利波的数值模拟 版本为6.1,低于此版本打不开此模型
  • AI Agent在企业数字化转型中的关键角色与实施策略
  • 从零到飞:四旋翼无人机智能控制与路径规划全解析
  • 3Arduino IDE 安装
  • AI Agent架构师必备:30个核心术语速成指南
  • 水凝膜、电镀钢化膜和UV光固膜哪个更防指纹,哪个透光更高呢?排序一下?
  • 【节点】[LinearToGammaSpaceExact节点]原理解析与实际应用
  • 2Arduino 板型号
  • 大模型岗位全解析:从预训练到应用开发,5大梯队深度指南+2026转型攻略
  • 【硕士论文完美复现】【价格型需求响应】基于需求侧响应的配电网供电能力综合评估(Python代码实现) - 指南
  • 8款AI论文辅助工具全面评测:改写与原创写作能力分析
  • 详细介绍:测试用例的八大核心要素
  • 线性筛素数 - Rye
  • 从“软件3.0”到“深度求索”:我们这代程序员,正站在一个怎样的路口?
  • 提示词工程精华总结:掌握ICIO框架与五大核心要素,AI应用效率翻倍,建议收藏!
  • 提示词工程精华总结:掌握ICIO框架与五大核心要素,AI应用效率翻倍,建议收藏!
  • 网络传输原理(TCP/IP)
  • 大模型应用开发避坑指南:从Demo到实战的6大性能陷阱与解决方案
  • CSS animation-timeline动画时间线 - 详解
  • 广州新加坡留学机构 TOP5 评测!大湾区优质教育培训机构榜单发布,助力学子规划海外升学之路 - 全局中转站
  • Aspire 与 Azure Functions 深度集成:架构范式、工程实践与运维
  • AI大模型引发的产业变革:把握智能时代机遇的全面指南
  • 广州英国留学机构TOP5评测!大湾区优质升学机构榜单发布,助力学子规划海外升学之路 - 全局中转站
  • 杭州到大连、沈阳、鄂尔多斯、包头、呼和浩特、长春、哈尔滨、大庆搬家公司搬家物流省心推荐!跨省搬家费用明细 - 物流人
  • Collections.unmodifiableSet()
  • 杭州到武汉、郑州、济南、长沙、西安、南宁、乌鲁木齐搬家公司物流排行榜!搬家费用明细! - 物流人
  • 杭州到重庆、成都、昆明、贵阳、遵义、绵阳、宜宾、德阳搬家公司物流排行榜!搬家费用明细! - 物流人