一、什么是JavaBean?
JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。JSP搭配JavaBean来使用,有以下的优点:
1.可将HTML和Java代码分离,这主要是为了日后维护的方便。如果把所有的程序代码(HTML和Java)写到JSP页面中,会使整个程序代码又多又复杂,造成日后维护上的困难。
2.可利用JavaBean的优点。将日常用到的程序写成JavaBean组件,当在JSP要使用时,只要调用JavaBean组件来执行用户所要的功能,不用再重复写相同的程序,这样以来也可以节省开发所需的时间。
3、JavaBean四点设计原则:公有类,属性私有,包含无参的共有构造方法,getter和setter方法封装属性
二、JSP动作元素(action element)
JSP动作元素为请求处理阶段提供信息,动作元素遵循XML语法,有一个包含元素名的开始标签,可以有属性,可选的内容、与开始标签匹配的结束标签。
三、JSP动作元素种类
第一类是与存取JavaBean有关,包括:
<jsp:useBean><jsp:setProperty><jsp:getProperty>
第二类是JSP1.2开始有的基本元素,包括:
<jsp:include><jsp:forward><jsp:param><jsp:plugin><jsp:params><jsp:fallback>
第三类是JSP2.0新增的动作元素,主要与JSP Document有关,包括:
<jsp:root><jsp:declaration><jsp:scriptlet><jsp:expression><jsp:text><jsp:output>
第四类是JSP2.0新增的动作元素,主要是用来动态生成XML元素标签的值,包括:
<jsp:attribute><jsp:body><jsp:element>
第五类是JSP2.0新增的动作元素,主要是用在Tag File中,包括:
<jsp:invoke><jsp:dobody>
四、Javabean怎么使用
1.用page指令import要使用的java类,在jsp脚本里new对象, 调用相应的setter, getter方法;
2.用<jsp:useBean id="对象名" class="类名(全名,包括包名)" scope"作用范围(默认是page)" />
1、需要表单提交属性:<jsp:setProperty name="JavaBean实例名" property="*" />: 与之前页面提交的表单的【所有属性进行匹配】,若有与javabean类属性名相同的,则进行赋值。比如表坛提交了username="xxx",而javabean里有username属性,则对其进行赋值
2、需要表单提交属性<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名" />:对【指定的属性进行匹配】
3、手动设置属性:<jsp:setProperty name="JavaBean实例名" value="BeanValue" />
4、与request参数有关,通过url传参 :<jsp:setProperty name="JavaBean实例名" property="propertyName" param="request对象中的参数名" />
例
1.根据表单自动匹配所有的属性
<jsp:setProperty name="myUsers" property="*" />
2.根据表单自动匹配相应的属性(部分匹配)
<jsp:setProperty name="myUsers" property="username" />
3.与表单无关,通过手工赋值给属性
<jsp:setProperty name="myUsers" property="username" value="Lisa" />
4.通过url传参数给属性赋值
<jsp:setProperty name="myUsers" property="username" />
<jsp:setProperty name="myUsers" property="password" param="mypass" />
Javabean的四个作用域范围
page://仅当前页面有效
request//可以通过HttpRequest.getAttribute()方法来取得javaBean对象,本次请求有效,服务器跳转有效,重定向无效
session//可以通过Session.getAttribute()方法取得javaBean对象,本次会话有效,服务器跳转有效,重定向有效
application//可以通过application.getAttribute()方法来取得javaBean对象,本webapp全局有效,只有当该app关闭后失效
热点新闻