Ø bean:遵循某些编码约定的Java类,作为组件被使用。
i) 应该始终为bean类使用包名称,从而可以容易地以可移植的方式使用JSP页面中的bean。
ii) Bean类必须使用无参数的构造函数,这样允许工具以只知道类名的方式创建bean.
iii) Bean的属性是通过getter和setter方法访问的。
iv) Bean类应该实现java.io.Serializable或java.io.Externalizable,以允许工具保存和恢复bean的状态。
v) Bean属性名区分大小写,而且总是以小写字母开头。
vi) Bean的属性可以是任何Java类型,容器可以在文本字符串和其他Java类型之间自动转换。
当使用<jsp:setProperty>行为时,容器会将文本值自动转换为具体的Java类型。
当使用<jsp:getProerty>或<c:out>时,容器会自动将Java类型转换为String类型。
Ø 例:
<jsp:useBean id=”cartoon”
Class=”com.ora.jsp.CartoonBean”/>
<img src=”images/<jsp:getProperty name=”cartoon” property=”fileName”/>”>
Ø <jsp:setProperty name=”cartoon” property=”fileName” value=”aaa.gif”/>
该行为可以根据请求参数值来设置bean的属性。
<jsp:setProperty name=”userInfo” property=”*”/>
它将把所有bean的属性都自动设为对于参数的值,
Ø<jsp:setProperty name=”userInfo” property=”username” param=”someOtherParam”/>
这里可以利用param属性将bean的值设为任何请求参数的值。
Ø 以上<img>不是合法的HTML语法,但却是合法的JSP语法。不被认为是JSP元素的任
何东西都被看作是模板文本,模板不会取解释模板文本的含义,因此它不会将其视为无
效的HTML。但这并不是说可以使用行为元素设置另一个JSP行为元素属性的值,只
有容器不把HTML元素看作是一种元素时,才使用它来设置HTML元素的属性。
Ø 当JSP页面得到处理时,会用bean的属性值代替行为元素,因此发送给浏览器的结果是:
<img src=”images/dilbert237.gif”/>
Ø <jsp:useBean>行为会创建由class属性指定的bean类的一个实例,并将其与id属性指定的名称关联起来,该名称在网页中必须时唯一的。
Ø <jsp:getProperty name=”cartoon” property=”fileName”/>
该行为将取得bean的当前属性值,并把该值插入大应答的主体中。