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

JavaBeans简介相关推荐

  1. jsp与java_JSP与JavaBeans

    JavaBeans简介 JavaBeans是一种符合一定标准的普通java类,需要满足下面几点: 1 类是public 2 属性私有 3 空的public构造方法 4 通过getter setter操 ...

  2. Java、JSP宠物狗销售系统

    技术:Java.JSP等 摘要: 随着科学技术的发展,Internet的流行,人们生活水平的提高,当宠物狗的出现成为一种时尚时,网上宠物狗销售就是一种必然趋势.越来越多的人开始养起了宠物狗,越来越多的 ...

  3. 网络订餐系统设计与实现

    摘要 二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会.中国的网民充分领略到"畅游天地间,网络无极限" 所带来的畅快.随着Internet的飞速发展,使得网络的应用日 ...

  4. Java、JSP等网上书店图书销售管理系统

    技术:Java.JSP等 摘要: 二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会.当钱天白教授于1986年9月14日在北京计算机应用技术研究所内向德国卡尔斯鲁厄大学发出第一封电子邮件& ...

  5. Java、JSP网上点餐系统

    技术:Java.JSP等 摘要: 二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会.中国的网民充分领略到"畅游天地间,网络无极限" 所带来的畅快.随着Internet ...

  6. Java、JSP基于java web的宠物用品商店

    随着科学技术的日益发展,网络渐渐普及于人们的生活中.人们开始更多的关注精神文明.越来越多的人们开始养宠物,让自己的生活多一丝色彩. 在这样的环境下,宠物用品的贸易逐渐扩大开来,而网上的宠物用品商店,也 ...

  7. java中bean对象_JAVA中PO,BO,VO,DTO,POJO,Entity,JavaBean,JavaBeans各个对象的区别,以及lombo、jpa简介及用法...

    常见JAVA类概念介绍 PO:持久对象 (persistent object). 是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对 ...

  8. Java EE 简介

    Java EE 简介 Java EE 基本架构 JavaEE 的诞生是为了解决传统 C/S 架构的弊端:客户端臃肿庞大,扩展性差等弊端. JavaEE 将传统的两层结构细分为了四层. 这四层分别是:C ...

  9. Spring框架简介

    Spring框架简介 Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本. ...

最新文章

  1. python中的迭代库
  2. NSBundle使用:获取文件路径
  3. 【转】ABP源码分析三十七:ABP.Web.Api Script Proxy API
  4. 一般java,【面试题】java一般
  5. oracle+视图+图形化,如何利用Object Browser图形化工具提高Oracle开发工作效率(二)对象创建管理篇...
  6. 详细介绍ASP.NET状态保存方法
  7. 自己的小程序修修补补
  8. 云上发展,唯快不破!IT部门是数字化转型的变革者 | 凌云时刻
  9. 存进销系统 c语言大作业,c语言,程序设计大题,*纳税以系统(2)求法,求解...
  10. Python基础—简介、变量、运算符
  11. JavaFx界面功能隐藏和禁用
  12. python循环5次_python基础-循环语句(5)
  13. linux 编辑dsdt,Surface pro 3 ALC288 的 AppleHDA 修改步骤
  14. 计算机网络必须包括,计算机网络硬件包括( )等几个方面。
  15. 必会的这15个Mysql优化问题,面试官、DBA都要高看你一眼,速度收藏
  16. cuda8.0+ubuntu14.04+GTX970驱动 安装
  17. 苹果wifi网速慢怎么办_通恒泛信助您全屋WiFi覆盖,全家信号满满~
  18. 肖博高中数学高考数学二轮复习方法三角函数的图象与性质策略,附例题解析!
  19. 2022年几款前沿的文本语义检索/Sentence Embedding方法:Gradient Cache, SGPT,ART,DPTDR,RocketQAv2, ERNIE-Search等
  20. 基于Bootstrap+html的响应式速递快递物流网页设计

热门文章

  1. webpack5打包字体资源
  2. python根据表格数据生成折线图_Kaggle、Python数据可视化seaborn(二):折线图
  3. 理解敏捷思想的63句话!
  4. 多客技巧分享|Tik Tok,不会选品,没有数据分析,你将失去竞争力
  5. 无需任何下载工具就可以下载英雄联盟LOL英雄时刻系统剪辑好的视频爬虫网页分析基础
  6. 紫外线消毒器:飞利浦紫外线杀菌灯TUV55W
  7. 利用Anaconda安装python3.6环境
  8. 清除 挖矿脚本 攻击
  9. Java简历的专业技术怎么写
  10. VS2010 制作安装包