JSTL与EL表达式

EL表达式

EL(Expression Language)表达式语言,用于简化JSP的输出
EL表达式的基本语法: ${表达式}
示例: 学生姓名: ${student.name}

===================================
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	Student student = new Student();
	student.setName("于末");
	student.setMobile("13115353");
	String grade = "A";
	request.setAttribute("student",student);
	request.setAttribute("grade",grade);
	request.getRequestDispatcher("/info.jsp").forward(request,response);
	}
==================================
<h1>姓名:${requestScope.student.name }</h1>
<h1>电话:${requestScope.student.mobile }</h1>
<h2>评级:${requestScope.grade }</h2>
//requestScope----el表达式的作用域对象,说明了后面的对象是从哪个作用域取值

作用域对象

作用域对象描述
pageScope从当前页面取值
requestScope从当前请求中获取属性值
sessionScope从当前会话中获取属性值
applicationScope从当前应用获取全局属性值
  • 忽略书写作用域对象时,el则按作用域从大到小依次尝试获取
<h1>姓名:${student.name }</h1>
<h1>电话:${student.mobile }</h1>
<h2>评级:${grade }</h2>

EL表达式输出

  • 语法: ${[作用域.]属性名[.子属性]}
  • EL表达式支持将运算结果进行输出
  • EL支持绝大多数对象输出,本质是执行toString()方法
EL输出参数值
  • EL表达式内置param对象来简化参数的输出
  • 语法:${param.参数名}

JSTL标签库

  • JSTL (JSP Standard Tag Library) ,JSP标准标签库
  • JSTL用于简化JSP开发,提高代码的可读性与可维护性
  • JSTL由SUN (Oracle) 定义规范,由Apache Tomcat团队实现

下载

作用域对象描述
taglibs-standard-spec-1.2.5jar标签库定义包(必须)
taglibs-standard-impl-1.2.5.jar标签库实现包(必须)
taglibs-standard-jstlel-1.2.5.jarel表达式支持包(备选)
taglibs-standard-compat-1.2.5.jar1.0版本兼容包(备选)

安装

  • 将Jar文件复制到工程的WEB-INF/lib目录(推荐)
  • 将Jar文件复制到Tomcat安装目录的lib目录

JSTL的标签库种类

  • JSTL按功能划分可分为五类标签库
  • 核心标签库 - core
  • 格式化输出标签库 - fmt
  • SQL操作系统标签库 - sql
  • XML操作标签库 - xml
  • 函数标签库 - functions

引用JSPL核心库

  • 核心标签库(Core)是JSTL最重要的标签库,提供了JSTL的基础功能
  • < %@ taglib prefix=“c” uri= “http://java.sun.com/jsp/jstl/core” %>
  • JSTL核心标签库在taglibs-standard-impl.jar由META-INF/c.tld定义

判断标签

  • JSTL核心库提供了两组判断的标签
  • <c:if> -单分支判断
<h1>${score }</h1>
<c:if test="${score >= 60 }">
	<h1 style = "color:green">及格</h1>
</c:if>
<c:if test="${score < 60 }">
	<h1 style = "color:red">不及格</h1>
</c:if>
  • <c:choose>、<c:when>、 <c:otherwise> -多分支判断
<!--  choose when otherwise -->
<c:choose>
	<c:when test="${grade == 'A' }">
		<h2>优秀</h2>
	</c:when>
	<c:when test="${grade == 'B' }">
		<h2>良好</h2>
	</c:when>
	<c:when test="${grade == 'C' }">
		<h2>及格</h2>
	</c:when>
	<c:otherwise>
		<h2>不及格</h2>
	</c:otherwise>
</c:choose>

集合遍历

  • <c:forEach>标签用于遍历集合(Collection) 中的每-个对象
<!-- forEach标签用于遍历集合
	List companies = (List)request . getAttribute(" companies");
	for(Company C : companies){
		out. print("...");
	}
-->
<c:forEach items = "${companies }" var = "c" varStatus = "idx">
	<h2>${idx.index+1}.${c.name }-${c.url }</h2>
</c:forEach>

fmt格式化标签库

  • fmt格式化标签库URI:http://java.sun.com/jsp/jstl/fmt
  • < fmt:formatDate value = “” pattern = “”>格式化日期标签
<!-- formatDate pattern
	yyyy - 四位年
	MM - 两位月
	dd - 两位日
	HH - 24小时制
	hh - 25小时制
	mm - 分钟
	ss - 秒
	SSS - 毫秒
 -->
 <h2>${now } </h2>
<fmt:formatDate value="${now }" pattern = "yyyy年 MM月 dd日 HH:mm:ss:SSS"/>
  • < fmt:formatNumber value = “” pattern = ">格式化数字标签
<h2>${amt } </h2>
<h2><fmt:formatNumber value = "${amt }"  pattern = "0,000.00"></fmt:formatNumber></h2>
======================================
<h2>null默认值:<c:out value="${nothing }" default="无"></c:out></h2>//将null转译成我们需要的
<h2><c:out value="${html }" escapeXml="true"></c:out></h2>//不转译html代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaWeb 中,使用 EL 表达式和 JSTL 可以实现在 JSP 页面中进行动态数据处理和展示。下面我来分别介绍这两种技术的实现方法。 1. EL 表达式的实现 EL 表达式是一种用于在 JSP 页面中访问 JavaBean 中属性的语言。在 JSP 页面中,我们可以通过 ${} 语法来使用 EL 表达式。例如,我们可以通过 ${user.name} 来获取 JavaBean 中的 name 属性的值。 要在 JavaWeb 中使用 EL 表达式,我们需要完成以下步骤: 1) 在 JSP 页面中引入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>,指定页面编码为 UTF-8。 2) 在 JSP 页面中引入 JSTL 标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。 3) 在 JavaBean 中定义属性,并提供 getter 和 setter 方法。 4) 在 JSP 页面中使用 EL 表达式来访问 JavaBean 的属性值。例如:${user.name}。 2. JSTL 的实现 JSTL 是一组 JSP 自定义标签,用于在 JSP 页面中进行动态数据处理和展示。JSTL 提供了一些常用的标签库,例如 core、fmt、sql、xml 和 functions 等。 要在 JavaWeb 中使用 JSTL,我们需要完成以下步骤: 1) 在 JSP 页面中引入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>,指定页面编码为 UTF-8。 2) 在 JSP 页面中引入 JSTL 标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。 3) 在 JSP 页面中使用 JSTL 标签库提供的标签来进行动态数据处理和展示。例如,使用 <c:forEach> 标签来遍历一个集合: ``` <c:forEach var="item" items="${list}"> ${item} </c:forEach> ``` 这样就可以在 JSP 页面中使用 EL 表达式和 JSTL 来进行动态数据处理和展示了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值