JavaBeans四个作用域 范围

application                     application可以作用于整个Web应用

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>setProperty</title>
</head>
<body>
    实例化javaBeans对象
    <jsp:useBean id="myUser" class="com.javabean.po.User" scope="request"></jsp:useBean>
    <h1>setProperty动作元素</h1>
    <hr>
    <!-- 第一种方式:根据表单自动匹配所有属性         property="*"    name="myUser" 根据表单名字匹配-->
    <%-- <jsp:setProperty property="*" name="myUser" />
    用户名:<%=myUser.getUserName()%>
    密码:<%=myUser.getPassword()%> --%>

    <hr>

    <!-- 第二种方式:根据表单匹配部分属性 -->

    <%-- <jsp:setProperty property="userName" name="myUser" />
    用户名:<%=myUser.getUserName()%>
    密码:<%=myUser.getPassword()%><!-- 获取不到password --> --%>

    <!--第三种方式:跟表单无关,通过手工赋值给属性 -->
    <%-- <jsp:setProperty property="userName" name="myUser" value="lisi" />
    <jsp:setProperty property="password" name="myUser" value="666666" />
    用户名:<%=myUser.getUserName()%>
    密码:<%=myUser.getPassword()%> --%>

    <!-- 第四种方式:通过URl传参数,赋值给属性 -->
    <%-- <jsp:setProperty property="password" name="myUser" param="mypass" /> --%>
    <%-- 用户名:<%=myUser.getUserName()%><!-- 未给用户名赋值,为null -->
    密码:<%=myUser.getPassword()%>
    <jsp:setProperty property="userName" name="myUser"/> <!-- 可以设置userName从表单获取数据 --> --%>

    <!-- 使用传统的表达式来获取用户名和密码 -->
    <%-- 用户名:<%=myUser.getUserName()%>
    密码:<%=myUser.getPassword()%> --%>
    <!-- 使用 getPrpperty方式来获取javaBeans所指定的用户名和密码-->
    <jsp:setProperty property="password" name="myUser" param="mypass" />
    <jsp:setProperty property="userName" name="myUser" />

    用户名:<jsp:getProperty property="userName" name="myUser" />
    密码:<jsp:getProperty property="password" name="myUser" />

    <br>
    <a href="javaBeansScope.jsp">测试javaBeans的四个作用域范围</a>


    <!-- request需要使用服务器内部转发 -->

    <%
        request.getRequestDispatcher("javaBeansScope.jsp").forward(request, response);
    %>




</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="com.javabean.po.User"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javaBeans Scope作用域范围</title>
</head>
<body>
    <h1>javaBeans Scope四个作用域范围</h1>
    <hr>
    <jsp:useBean id="myUser" class="com.javabean.po.User"
        scope="application"></jsp:useBean>
    用户名:<jsp:getProperty property="userName" name="myUser" />
    密码:<jsp:getProperty property="password" name="myUser" />

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

    <hr>
    用户名:<%=((User)application.getAttribute("myUser")).getUserName()%>
    密码:<%=((User)application.getAttribute("myUser")).getPassword()%>




</body>
</html>

 

page,无论怎么定义,都无法跨页面获取。只能在本页面内使用

猜你喜欢

转载自www.cnblogs.com/1ming/p/9473138.html