JavaWeb笔记--过滤器、EL、JSTL

1.EL运算

 1.1 语法:${EL表达式}

	(1) EL不需要导包
	(2) EL中调用属性,其实是调用的getXxx()方法

 2.2 .与[]操作符

.操作符:	操作属性,不是对象,使用方便 ${范围.对象.属性.属性的属性 }

[]操作符:	如果是常量属性,需要使用双引号/单引号,但比点操作符更加强大

 2.3 []优点之处

	(1) 可以容纳一些 特殊符号 (.  ?   -)
	(2) []可以容纳 变量属性 (可以动态赋值)
	(3) 可以处理数组 ${requestScope.arr[0] }

2.JSTL

 2.1 两个jar包及引入

(1) jstl.jar
(2) standard.jar
(3)引入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    

 2.2 通用标签库

   2.2.1 <c:set> :赋值
	(1)给变量赋值
		<c:set var="变量名"    value="变量值"   scope="4个范围对象的作用域"/>
	
	(2)给普通对象的属性赋值
		<c:set target="对象" property="对象的属性"  value="赋值" />

	注意 <c:set>可以给不存在的变量赋值 (但不能给不存在的对象赋值)	
   2.2.2 <c:out> :显示
	<c:out value='<a href="https://www.baidu.com">百度</a>' default="当value为空的,显示的默认值" escapeXml="true" />
   2.2.3 <c:remove> :删除属性
	<c:remove var="a" scope="request"/>

 2.3 条件标签库

   2.3.1 单重选择
	<c:if test="">
   2.3.2 多重选择
	<c:choose>
		<c:when test="...">   </c:when>
		<c:when test="...">   </c:when>
		<c:when test="...">   </c:when>
		<c:otherwise>   </c:otherwise>
	</c:choose>

注:在使用test=""一定要注意后面是否有空格

 2.4 迭代标签库(循环)

for(int i=0;i<5;i++)
	<c:forEach  var="name" items="${requestScope.names }" >
		${name}
	</c:forEach>

3. 过滤器

 3.1 过滤器简介

	(1) 实现Filter接口
	(2) init()、destroy() 原理、执行时机同Servlet
	(3) 通过doFilter()处理拦截,并且通过chain.doFilter(request, response)放行

 3.2 filter映射

	(1) 只拦截 访问MyServlet的请求
		<url-pattern>/MyServlet</url-pattern>
	
	(2) 拦截一切请求
		<url-pattern>/*</url-pattern>

 3.3 通配符

dispatcher请求方式:
	REQUEST:拦截HTTP请求(get、post)
	FORWARD:只拦截通过请求转发方式的请求
	INCLUDE: 只拦截拦截通过request.getRequestDispatcher("").include()、通过<jsp:include page="..." />此种方式发出的请求
	ERROR:  只拦截<error-page>发出的请求

 3.4 过滤器链

可以配置多个过滤器,过滤器的先后顺序是由 <filter-mapping>的位置决定
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值