JavaBean四个作用域范围的详解

JavaBean四个作用域范围的详解

一 说明

使用useBeans的scope属性可以用来指定javabean的作用范围。

 二 四个作用范围

 

三 代码

1、login.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" %>

<%

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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

<title>My JSP 'login.jsp' starting page</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">

<!--

<link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

-->

</head>

<body>

<h1>系统登录</h1>

<hr>

<form name="loginForm" action="dologin.jsp?mypass=999999" method="post">

<table>

<tr>

<td>用户名:</td>

<td><input type="text" name="username" value=""/></td>

</tr>

<tr>

<td>密码:</td>

<td><input type="password" name="password" value=""/></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" value="登录"/></td>

</tr>

</table>

</form>

</body>

</html>

2、dologin.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>

<%

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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

<title>My JSP 'dologin.jsp' starting page</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">

<!--

<link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

-->

</head>

<body>

<jsp:useBean id="myUsers" class="com.po.Users" scope="page"/>

<h1>setProperty动作元素</h1>

<hr>

<!--根据表单自动匹配所有的属性 -->

<%--

<jsp:setProperty name="myUsers" property="*"/>

--%>

<!--根据表单匹配所有部分的属性 -->

<%--

<jsp:setProperty name="myUsers" property="username"/>

--%>

<!--根表单无关,通过手工赋值给属性 -->

<%--

<jsp:setProperty name="myUsers" property="username" value="lisi"/>

<jsp:setProperty name="myUsers" property="password" value="888888"/>

--%>

<!--通过URL传参数给属性赋值 -->

<jsp:setProperty name="myUsers" property="username"/>

<jsp:setProperty name="myUsers" property="password" param="mypass"/>

<!-- 使用传统的表达式方式来获取用户名和密码 -->

<%--

用户名:<%=myUsers.getUsername() %><br>

密码:<%=myUsers.getPassword() %><br>

--%>

<!-- 使用getProperty方式来获取用户名和密码 -->

用户名:<jsp:getProperty name="myUsers" property="username"/> <br>

密码:<jsp:getProperty name="myUsers" property="password"/><br>

<br>

<br>

<a href="testScope.jsp" rel="external nofollow" >测试javabean的四个作用域范围</a>

<%

request.getRequestDispatcher("testScope.jsp").forward(request, response);

%>

</body>

</html>

3、testScope.jsp

<%@ page language="java" import="java.util.*"

contentType="text/html; charset=utf-8"%>

<%@ page import="com.po.Users"%>

<%

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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

<title>My JSP 'testScope.jsp' starting page</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">

<!--

<link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" >

-->

</head>

<body>

<h1>Javabean的四个作用域范围</h1>

<hr>

<jsp:useBean id="myUsers" class="com.po.Users" scope="page" />

用户名:<jsp:getProperty name="myUsers" property="username" /><br> 密码:<jsp:getProperty

name="myUsers" property="password" /><br>

<!-- 使用内置对象获取用户名和密码 -->

<hr>

<%--

用户名:<%=((Users)application.getAttribute("myUsers")).getUsername()%><br>

密码:<%=((Users)application.getAttribute("myUsers")).getPassword() %><br>

--%>

<%--

用户名:<%=((Users)session.getAttribute("myUsers")).getUsername()%><br>

密码:<%=((Users)session.getAttribute("myUsers")).getPassword() %><br>

--%>

<%--

用户名:<%=((Users)request.getAttribute("myUsers")).getUsername()%><br>

密码:<%=((Users)request.getAttribute("myUsers")).getPassword() %><br>

--%>

<%

String username = "";

String password = "";

if (pageContext.getAttribute("myUsers") != null) {

username = ((Users) pageContext.getAttribute("myUsers"))

.getUsername();

password = ((Users) pageContext.getAttribute("myUsers"))

.getPassword();

}

%>

用户名:<%=username%><br> 密码:<%=password%><br>

</body>

</html>

四 测试结果

 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是 JavaBean四个作用域范围的详解 的全部内容, 来源链接: utcz.com/p/215631.html

回到顶部