J2EE Scope 存取范围

本文深入探讨了JSP页面中变量作用域、Bean实例属性获取的方法及应用场景,包括当前作用域变量、PageContext变量、UserBean实例属性等的获取方式,并通过实例演示了如何在不同作用域中灵活使用变量。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>变量的取值范围</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  <body>
  		<%
  			String currentvar ="currentvar";
  			pageContext.setAttribute("pageContextvar", "pageContextvar");
  			request.setAttribute("requestvar", "requestvar");
  			session.setAttribute("sessionvar", "sesstionvar");	
  			application.setAttribute("applicationvar", "applicationvar");
  			pageContext.setAttribute("var","pageContext/var");
  			request.setAttribute("var", "request/var");
  		 %>
  		 <c:set var="setvar" value="setvar" />
  		 
  		 <h3>下面是结果:</h3>
  			<%=pageContext.getAttribute("var") %>
  			<br/>
  			<%=request.getAttribute("var")%>
  			
  			<jsp:useBean id="person" class="home.Person" scope="page">
  				<jsp:setProperty name="person" property="id" value="064109003" />
  				<jsp:setProperty name="person" property="name" value="boy" />  				
  			</jsp:useBean>
  			<br/>--------------------------<br/>
  			<c:out value="${applicationvar}"/>
  			
  			<br/>
  			userBean 变量可取得方法
  			<%=person.getId() %>
  			<c:out value="${person.getId()}"></c:out>
  </body>
</html>
	
<%--

		Scope 范围
	1.对于当前jsp 页面声明的变量的访问方式
			<%=currentvar%>
			<%out.println(currentvar)%>
			此变量不可以用<c:out />来进行输出,如果想用其输出的话,可以把其加到pageContext 或其他scope 内	
	2.对于pageContext变量(其他scope与pageContext相似)
			<%=pageContext.getAttribute("pageContextvar")%>
			<%out.println(pageContext.getAttribute("pageContext"))%>
			<c:out value="pageContextvar" /> 这里默认输出的变量是在pageContext范围里,如果在些范围没有会向外找
	3.对于userBean实例的对象
		可以用上面的两种方法
				<%=person.getId()%>	or <%out.println(person.getId())%>
		还可以用<c:out>对其进行输出
			<c:out value="${person.getId()}" />	
 --%>


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值