useBean详解(2)

useBean的体

从上一节我们已经知道,useBean在找不到指定对象的时候重新创建对象。我们可能这样想--在没有找到对像的时候创建对象并设置属性。但是我们如果直接用<jsp:setProperty />时很可能覆盖掉本来存在的对象的属性。实例代码如下:

使用useBean的体,进行有条件的设置属性。

实例代码如下:

这样,只有创建新的bean是才会设置属性了。

useBean实现多态引用

<jsp:useBean id="people" class="非抽象类的权限定名" type="父类的权限定名" scope="作用域" />

这里面tyep实际上是用来声明的,而不会进行初始化。而class属性就可以声明并且初始化。所以,在作用域中有bean对象时<jsp:useBean id="people" type="com.star7.goodjob.People" scope="request" />是正确的,因为他不需要初始化。

作用域

page:是在本jsp文件中有效的bean。

request:是在一次请求中有效的bean。也就是request.setAttribute("beanName",bean实体)中的 bean实体。

session:是在一次会话中有效的bean。也就是session.setAttribute( "beanName",bean实体)中的 bean实体。

context:是整个应用中有效的bean。

你可能感兴趣的:(bean)