JavaWeb——JSTL表达式的使用

本文详细介绍了JavaWeb中JSTL的使用,包括通用标签如<out>、<set>、<remove>和<catch>,以及条件控制标签<if>和<choose>。此外,还讲解了循环控制标签<forEach>和<forTokens>的应用,通过多个案例展示了如何在实际开发中使用这些标签进行数据处理和控制流程。
摘要由CSDN通过智能技术生成

JavaWeb——JSTL表达式的使用

一、通用的目的标签

1)<c:out>标签

<c:out>标签用来显示一个表达式的结果,与<%= %>作用相似,它们的区别就是<c:out>标签可以直接通过"."操作符来访问属性。举例来说,如果想要访问customer.address.street,只需要这样写:<c:out value=“customer.address.street”>。<c:out>标签会自动忽略XML标记字符,所以它们不会被当做标签来处理。

语法格式
<c:out value="<string>" default="<string>" escapeXml="<true|false>"/>
属性
属性 描述 是否必要 默认值
value 要输出的内容
default 输出的默认值 主体中的内容
escapeXml 是否忽略XML特殊字符 true
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<c:out value="糖葫芦"/><br/>
<c:out value="${number}" default="糖葫芦"/><br/>
<c:out value="${headerValues['User-Agent'][0]}"/><br/>
<c:out value="<h4>糖葫芦</h4>" escapeXml="true"/><br/>
<c:out value="<h4>糖葫芦</h4>" escapeXml="false"/><br/>
</body>
</html>

1.当要输出的值为null或者不存在,可以使用default指定一个默认值。

2.<c:out>标签可以使用EL表达式取值

3.escapeXml 是否以xml格式输出注:默认为true,即像”<”,”>”这样的符号会原样输出

2)<c:set>标签

<c:set>标签用于设置变量值和对象属性。

<c:set>标签就是<jsp:setProperty>行为标签的孪生兄弟。

这个标签之所以很有用呢,是因为它会计算表达式的值,然后使用计算结果来设置 JavaBean 对象或 java.util.Map 对象的值。

语法格式
<c:set
   var="<string>"
   value="<string>"
   target="<string>"
   property="<string>"
   scope="<string>"/>

属性

属性 描述 是否必要 默认值
value 要存储的值 主体的内容
target 要修改的属性所属的对象
property 要修改的属性
var 存储信息的变量
scope var属性的作用域 Page

如果指定了target属性,那么property属性也需要被指定。

  1. scope 的作用域大小依次为:
application > session > request > page(默认)
  1. jsp 处理变量的作用域先后依次为:
page(默认) -> request -> session -> application
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="user" class="entity.User" scope="session"></jsp:useBean>
<%!
    Map<String,String> map=new HashMap<>();
%>
<html>
<h
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值