JavaBeans
JSP动作元素
JSP动作元素(action elements),动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
JavaBean设计原则
- 公有类
- 无参公有构造方法
- 属性私有
- getter() setter()方法
什么是JSP动作
第一类是与存取 Java Bean有关的,包括:
第二类是JSP1.2就开始有的基本元素,包括6个动作元素
第三类是JSP2.0新增加的元素,主要与 JSP Document有关,包括六个元素
第四类是JSP2.0新增的动作元素,主要是用来动态生成XML元素标签的值,包括3个动作
第五类是JsP2.0新增的动作元素,主要是用在 Tag File中,有2个元素
jsp:useBeans#
作用:在jsp页面中实例化或者在指定范围内使用javabean: <jsp:useBean id="标识符" class="java类名" scope="作用范围"/>
标识符即为对象名
scope属性值 | 作用域范围 |
---|---|
page | 仅当前页面有效 |
request | 可以通过HttpRequest.getAttribute(标识符)方法取得JavaBean对象或<jsp:useBean id=”标识符” class=”java类名” scope=”request”> ,前提条件为使用服务器内部转发 |
session | 可以通过HttpSession.getAttribute(标识符)方法取得JavaBean对象或<jsp:useBean id=”标识符” class=”java类名” scope=”session”>
|
application | 可以通过application.getAttribute(标识符)方法取得JavaBean对象或<jsp:useBean id=”标识符” class=”java类名” scope=”application”>
|
jsp:setProperty
作用:给已经实例化的JavaBean对象的属性赋值,一共有四种形式 <jsp:setProperty name="JavaBean实例名" property="*" />
(跟表单关联)
name中的实例名则为实例化的对象
根据表单内容匹配,对象属性与表单中的name一一匹配自动调用set方法赋值。 <jsp:setProperty name="JavaBean实例名" property="JavaBean属性名"/>
(跟表单关联)
与前一个类似,但是这里是部分匹配只取property中的属性。 <jsp:setProperty name="JavaBean实例名" property="JavaBean属性名" value="BeanValue"/>
(手工设置)
将value值赋给property中的属性,与表单无关。 <jsp:setproperty name="JavaBean实例名" property="propertyName" param="request对象中的参数名"/>
(跟request参数关联)
根据url传参,param参数中与url传递的参数匹配,例如:
表单中action="dologin.jsp?mypass=999999"
则<jsp:setproperty name="myUser" property="password" param="mypass"/>
此时仅获取密码,并且是从url中,如果希望账号通过表单获取则可以加上 <jsp:setproperty name="myUser" property="username"/>
jsp:getProperty
作用:获取指定JavaBean对象的属性值。 <jsp:getProperty name="JavaBean实例名" property="JavaBean属性名"/>
与对应get方法效果相同
Model 1简介
model 1模型出现前,整个Web应用的情况:几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应。
弊端:在界面蹭充斥着大量的业务逻辑代码和数据访问层代码,Web程序的可扩展性和可维护性非常差。
Javabean的出现可以使jsp页面中使用JavaBean封装的数据或者调用JavaBean的业务逻辑代码,这样大大提升了程序的可维护性。