学习javaweb第十天

JSTL和Filter过滤器

JSTL:JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。

测试:
1、导入jstl包
在这里插入图片描述
2、创建一个test.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <%
      out.print("dashuju");
    response.getWriter().print("dashuju2005");
    %>
    
    <c:out value="hello jsp"></c:out>
    <br/>
    
    <c:out value="${param.username}" default="dashuju2005" escapeXml="true">
    </c:out>
</body>
</html>

运行
在这里插入图片描述
Core 标签库
Core 标签库:又被称为核心标签库,该标签库的工作是对于 JSP 页面一般处理的封装。在该标签库中的标签一共有 14 个,被分为了四类,分别是:

  • List item多用途核心标签: <c:out> 、 <c:set> 、 <c:remove> 、 <c:catch>
  • List item条件控制标签: <c:if> 、 <c:choose> 、 <c:when> 、 <c:otherwise>
  • 循环控制标签: <c:forEach> 、 <c:forTokens>
  • URL 相关标签: <c:import> 、 <c:url> 、 <c:redirect> 、 <c:param>

用于显示的 <c:out> 标签
<c:out> 标签是一个最常用的标签,用于在 JSP 中显示数据。它的属性和描述如下所示:

            <c:out> 标签属性和说明

属性 描述
value 输出到页面的数据,可以是 EL 表达式或常量(必须)
default 当 value 为 null 时显示的数据(可选)
escapeXml 当设置为 true 时会主动更换特殊字符,比如“ <,>,& ”(可选,默认为 true )

在 JSTL1.0 的时候,在页面显示数据必须使用 <c:out> 来进行。然而,在 JSTL1.1 中,由于 JSP2.0 规范已经默认支持了 EL 表达式 ,因此可以直接在 JSP 页面使用表达式。

创建c_out1.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
     <%--1个out标签 --%>
     userName属性的值为:
     <c:out value="${parm.username}" default="unknown" />
     <br>
     <%--2个out标签 --%>
     userName属性的值为:
     <c:out value="${param.username}">
          unknown
     </c:out>
</body>
</html>

运行:

在这里插入图片描述
传递一个参数
在这里插入图片描述
创建c_out2.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
   <c:out value="${param.username }" escapeXml="true">
      <meta http-equiv="refresh" content="0;url=http://www.itcast.cn" />
   </c:out>   
</body>
</html>

运行
在这里插入图片描述
用于判断的 <c:if> 标签

<c:if> 标签用于简单的条件语句。它的属性和描述如下所示:

           <c:if> 标签属性和说明

属性 描述
test 需要判断的条件
var 保存判断结果 true 或 false 的变量名,该变量可供之后的工作使用(可选)
scope 变量的作用范围,若没有指定,默认为保存于 page 范围中的变量(可选)

创建一个c_if.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
       <%-- request.setAttribute("key,1"); --%>
       <c:set var="key" value="1" scope="request" property="key1"></c:set>
       ${
   requestScope.key }
       <c:if test="${key==2 }">
            hello c:if标签
       </c:if>
</body>
</html>

运行:
在这里插入图片描述
用于复杂判断的 <c:choose> 、 <c:when> 、 <c:otherwise> 标签

这三个标签用于实现复杂条件判断语句,类似“ if,elseif ”的条件语句。

  • List item <c:choose> 标签没有属性,可以被认为是父标签, <c:when> 、<c:otherwise> 将作为其子标签来使用。
  • <c:when> 标签等价于“ if ”语句,它包含一个 test 属性,该属性表示需要判断的条件。
  • <c:otherwise> 标签没有属性,它等价于“ else ”语句。

创建一个c_choose.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值