JavaBeans简介

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应用程序内有效。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值