JavaBean

作者: 虫yu | 来源:发表于2018-11-27 17:41 被阅读0次

    一、JavaBean简介

    二、JavaBean设计原则

    三、什么是Jsp动作

    四、在Jsp页面中如何使用JavaBean

    1. 像使用普通java一样,创建javabean实例

    2. 使用动作标签

    • <jsp:useBean>

    实例:(不需要 import 类的java包)

    这里用户名密码为null的原因是,在Users类中,并没有对用户名密码进行有效的初始化。

    • <jsp:setProperty>

    实例一:

    <!-- 先实例化一个javabean对象 -->
    <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> 
    

    自动将表单中的name和javabean类中的属性进行匹配,如果有相同属性名,自动调用set方法。

    实例二:

    实例三:

    实例四:

    • <jsp:getProperty>
    <!-- 先实例化一个javabean对象 -->
    <jsp:useBean id="myUsers" class="com.po.Users" scope="page"/>
    <h1>setProperty动作元素</h1>
    <hr>
    <!--根据表单自动匹配所有的属性 -->
    <jsp:setProperty name="myUsers" property="*"/>  
    
    <!-- 使用传统的表达式方式来获取用户名和密码 -->
    <%--     
      用户名:<%=myUsers.getUsername() %><br>
      密码:<%=myUsers.getPassword() %><br> 
    --%>
    <!-- 使用getProperty方式来获取用户名和密码 -->
    用户名:<jsp:getProperty name="myUsers" property="username"/> <br>
    密码:<jsp:getProperty name="myUsers" property="password"/><br>
    <br>
    

    五、Javabean的四个作用域范围

    dologin.jsp页面:

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    
    ... ...
    
    <!-- 先实例化一个javabean对象 -->
    <jsp:useBean id="myUsers" class="com.po.Users" scope="page"/>
     
    <hr>
    <!--根据表单自动匹配所有的属性 -->
    <jsp:setProperty name="myUsers" property="*"/>  
    
    <!-- 使用getProperty方式来获取用户名和密码 -->
    用户名:<jsp:getProperty name="myUsers" property="username"/> <br>
    密码:<jsp:getProperty name="myUsers" property="password"/><br>
    <br>
    
    <!-- 超链接相当于一次请求重定向,相当于一次新的请求。
    所以当useBean的scope是request时,不能在超链接指定页面,获取到原来的usebean实例 -->
    <a href="testScope.jsp">测试javabean的四个作用域范围</a>
    <!-- 使用服务器内部转发,保证是同一次请求 -->
    <% 
      request.getRequestDispatcher("testScope.jsp").forward(request, response);
    %>
    

    testScope.jsp页面:

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%@ page import="com.po.Users" %>
    
    ... ...
    
    <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>
    

    六、什么是Model1

    相关文章

      网友评论

          本文标题:JavaBean

          本文链接:https://www.haomeiwen.com/subject/goagqqtx.html