<jsp:useBean id="myBean" class="package.MyBean" scope="request"></jsp:useBean>
<jsp:useBean id="myBean" class="package.MyBean" scope="request"></jsp:useBean>
以上两种用法,当myBean不为空时,在使用上两者没有什么区别。但是当myBean被设为null后,例如request.setAttribute("myBean",null),两者在使用上就有区别了。使用class="package.MyBean"时不会抛出异常,使用type="package.MyBean"时会抛出异常。原因是当使用class时,首先在当前作用范围内查找是否存在myBean,如果存在则直接使用现成的,如果不存在则new一个。而当使用type时,如果当前范围内不存在myBean,而且又没有使用class或beanName指定type时,就会抛出异常。并且class与beanName必须指定package(即引入了包),而type可以不指定。

本文探讨了JSP中useBean标签的两种不同用法:通过class属性与type属性指定Bean类型的区别。详细解释了这两种用法在Bean为空时的行为差异,以及它们在异常处理上的不同表现。
4667

被折叠的 条评论
为什么被折叠?



