1 回答

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
<jsp:useBean id="myBean" class="package.MyBean" ></jsp:useBean>
<jsp:useBean id="myBean" type="package.MyBean" ></jsp:useBean>
當(dāng) myBean不為空時(shí),在使用上兩者沒有什么區(qū)別。但是當(dāng)myBean被設(shè)為null后,例如request.setAttribute("myBean",null),兩者在使用上就有區(qū)別了。使用class="package.MyBean"時(shí)不會(huì)拋出異常,使用type="package.MyBean"時(shí)會(huì)拋出異常。原因是當(dāng)使用class時(shí),首先在當(dāng)前作用范圍內(nèi)查找是否存在myBean,如果存在則直接使用現(xiàn)成的,如果不存在則new一個(gè)。而當(dāng)使用type時(shí),如果當(dāng)前范圍內(nèi)不存在myBean,而且又沒有使用class或beanName指定type時(shí),就會(huì)拋出異常。并且class與beanName必須指定package(即引入了包),而type可以不指定。
添加回答
舉報(bào)