必威体育Betway必威体育官网
当前位置:首页 > IT技术

JavaBeans简介

时间:2019-10-30 11:44:41来源:IT技术作者:seo实验室小编阅读:53次「手机版」
 

beans

      • javaBeans是符合某种特定规范的java类
      • JavaBeans设计原则:
      • 相关jsp动作:
      • 在jsp页面中使用Javabeans:
        • 方法1.像普通java类一样,实例化Javabean
        • 方法2.用jsp动作标签使用Javabean(也是大多数情况下我们选择的方法)
          • 对javaBean赋值——jsp:setProperty
          • jsp:getProperty——获取指定Javabean对象的属性值
          • useBean的scope属性(对应四大作用域对象)

JavaBeans是符合某种特定规范的java类

使用JavaBeans是为了减少代码冗余,功能区分明确,提高了代码的维护性

JavaBeans设计原则:

  1. 公有类
  2. 包含有无参的公有构造方法
  3. 属性私有
  4. 使用getter和setter方法对所有私有属性进行封装

相关jsp动作:

1.与存取JavaBean有关:<jsp:useBean> <jsp:setProperty> <jsp:getProperty>

2.jsp1.2就开始有的基本元素:<jsp:include> <jsp:forward> <jsp:param> <jsp:plugin> <jsp:params> <jsp:fallback>

3.jsp2.0新增的元素,主要与jsp Document有关:

<jsp:root> <jsp:declaration> <jsp:scriptlet> <jsp:expression> <jsp:text> <jsp:output>

4.jsp2.0新增元素,主要用来动态生成xml元素标签的值:<jsp:attribute> <jsp:body> <jsp:element>

5.jsp2.0新增,主要用在Tag File中:<jsp:invoke> <jsp:dobody>

在jsp页面中使用Javabeans:

方法1.像普通java类一样,实例化Javabean

<%@page import 包名.类名%>
<%
    //实例化并使用setXXX设置该实例的属性值,也可使用getXXX得到某属性的值
%>

方法2.用jsp动作标签使用Javabean(也是大多数情况下我们选择的方法)

//<jsp:useBeans> 用于在jsp页面中实例化或者在指定范围内使用Javabean,此时不需要写<%@page import 包名.类名%>
<jsp:useBean id="标识符" class="包名.类名" scope="作用范围" />

完整的示例:

//写在body
//id对应上文set的Attribute,class对应user那个类的完整名称:包名.users
<jsp:useBean id="regUser" class="" scope="session"/>
<table>
<tr>
    <td class="title">用户名:</td>
    <td class="content"> &nbsp; <jsp:getProperty name="regUser" property="username"></td>
</tr>
<tr>
    <td class="title">爱好:</td>
    <td class="content">&nbsp; 
        <%
            String[] favorites = regUser.getFavovites();
            for(String f:favorites)
            { 
        %>
            <%=f%> &nbsp;
        <%
            }
        %>
</tr>
</table>
对javaBean赋值——jsp:setProperty

赋值需要使用<jsp:setProperty>,有四种形式:

<jsp:setProperty name= "JavaBean实例名" property = "*" />(和表单关联)*代表将Javabean中的属性名和表单提交过来的名字(name属性值)进行匹配 匹配则自动赋值

<jsp:setProperty name= "JavaBean实例名" property = "Javabean属性名" />(和表单关联)就是只匹配写了的部分属性名

<jsp:setProperty name= "JavaBean实例名" property = "Javabean属性名" value = "BeanValue" />(手工设置,与表单无关)

<jsp:setProperty name= "JavaBean实例名" property = "Javabean属性名" param="request对象中的参数名" /> (和request参数关联)

这个就比如 action=”dologin.jsp?mypass=123456” 那么在dologin中用setProperty时param=”mypass”即可将123456赋值给前面的Javabean属性名

jsp:getProperty——获取指定Javabean对象的属性值

<jsp:getProperty name="JavaBean实例名" property="属性名" />

useBean的scope属性(对应四大作用域对象)

用useBeans的scope属性可以指定JavaBean的作用域范围

page——仅在当前页面有效

request——可以通过HttpRequest.getAttribute()方法取得JavaBean对象,在用户的请求和转发的请求内有效,比如说超链接就是请求重定向,不是同一次请求,因此超链接后无效,请求转发则有效

session——可以通过Httpsession.getattribute()方法取得JavaBean对象,在一个用户的会话范围内有效

想要取得某个对象的某属性值则可以:(类名强制转化)session.getAttribute("实例名").getXX();

APPlication——可以通过application.getAttribute()方法取得JavaBean对象,在整个web应用程序内有效。

文章最后发布于: 2018-06-22 16:40:54

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读