Jsp-EL

Jsp中有九大隐藏对象

主要掌握:

page:当前页面;对应的域对象pageContext;类型:PageContext,
request:当前请求;对应的域对象request;类型:HttpServletRequest,转发不用请求,重定向会请求
session:当前会话;对用的域对象session;类型:HttpSession
application:当前Web应用;对应的域对象application;类型:ServletContext

四个域对象都有以下方法:

    void setAttribute(String key,Object value);//添加参数
    Object getAttribute(String key)//获取参数
    void removeAttribute(String key)//删除参数

EL表达式

1、主要输出域中属性的值 
2、代替jsp表达式<%=%>在页面进行输出操作
3、只读取,不修改
4、如果数据是null,则不输出
5、表达式语法:${EL表达式(可完成取值、简单的判断、简单的运算等) }

6、查询规则:从小到大

EL给我们提供了四个Scope对象,用来精确获取指定域中的值

    pageScope:request
    requestScope:page
    sessionScope:session
    applicationScope:application
  

  方法:Scope.属性名称
    <%
        Date date = new Date();
        request.setAttribute("time", date);
    %>
    
    现在的时间是:${requestScope.time}

另外:

request不是EL的隐含对象,但是pageContext既是Jsp又是El的隐含对象,
可以通过pageContext.getRequest()方法 ->pageContext.request.属性获取request等其他八个隐含对象。

如下文中的request.getContextPath,转换成了:${pageContext.request.contextPath }

帮助理解的代码:

    <%
		//创建对象并将对象放到域中
		Date date = new Date();
		request.setAttribute("time", date);
		User user = new User("afei","1");
		pageContext.setAttribute("user", user);
		//添加参数
		pageContext.setAttribute("pageKey","pageValue");
	%>
	
	通过jsp表达式输出当前的时间:<%=date %><br>
	通过EL表达式输出当前的时间:${requestScope.time} <br>
	通过EL表达式输出request域中当前的时间:${requestScope.time}<br>
	通过EL表达式输出User对象的name属性值:${pageScope.user.name }<br>
	<!-- 只要有get方法就可以,eg:getAfeiName-> .afeiname 即可 -->
	通过EL表达式输出getAfei的返回值:${pageScope.user.afei }<br>
	通过EL表达式输出项目的虚拟路径:${pageContext.request.contextPath }<br>
	通过jsp表达式输出项目的虚拟路径:<%=request.getContextPath() %><br>
	通过jsp通过 jsp隐含对象.getAttrbute("key")方法访问对应域中的值:	
	page=<%=pageContext.getAttribute("pageKey") %><br>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yongfeicao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值