首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jsp:useBean 中type跟class属性的区别

2012-10-09 
jsp:useBean 中type和class属性的区别jsp:useBean idproduct scopesession/jsp:useBeanjsp:use

jsp:useBean 中type和class属性的区别
<jsp:useBean id="product" scope="session"></jsp:useBean>

<jsp:useBean id="product" type="test.Product" scope="session"></jsp:useBean>

以上的两种写法,当product!=null两者视乎没什么区别,若使用session.setAttribute("product",null);设置后,在访问包含有<jsp:useBean id="product" type="test.Product" scope="session"></jsp:useBean>语句的页面时就会抛出异常(org.apache.jasper.JasperException: bean product not found within scope)。而使用<jsp:useBean id="product" scope="session"></jsp:useBean>

不会抛异常,这两种写法意义是相同的。假如使用class,它是先判断拿不拿得到实例的bean,若拿不到就使用new关键字实例化一个,而使用的是type时,它只是查找指定的范围中是否存在,在不存在时又没使用class或beanName 指定type,就会抛出异常,因此在使用type时就需要注意这点。并且class与beanName 必须指定package (即使引入了包),而type可以不指定。

热点排行
Bad Request.