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