這幾天在resin跑一個(gè)taglib(common-controls http://www.common-controls.com/en/index.php)庫(kù)。發(fā)現(xiàn)很多東西不能用。下圖中的菜單全部變成了“logout”。其他的全部沒(méi)有了。
這個(gè)頁(yè)面在tomcat下跑起來(lái)的效果是:
怎么會(huì)是這樣。看上去是不是很奇怪啊。
后來(lái)查看了一下cc-samples\WEB-INF\work\_jsp\_jsp\_template下的_header__jsp.java
發(fā)現(xiàn)
com.cc.framework.taglib.menu.MenuItemTag這個(gè)類只被創(chuàng)建了一次。而且在重復(fù)使用。
if (_jsp_MenuItemTag_3 == null) {
_jsp_MenuItemTag_3 = new com.cc.framework.taglib.menu.MenuItemTag();
_jsp_MenuItemTag_3.setPageContext(pageContext);
_jsp_MenuItemTag_3.setParent((javax.servlet.jsp.tagext.Tag) _jsp_MenuTag_2);
}
于是我就在猜想啊向com.cc.framework.taglib.menu.MenuTag這個(gè)類的實(shí)例中添加了那么多MenuItem肯定就只加了這么一個(gè)實(shí)例了。所以在最后顯示的只顯示出最后設(shè)置的參數(shù)了。
最后查看有一個(gè)仁兄也遭遇了類是的情況。也用blog記錄下來(lái)了。下面的話就是他的結(jié)論:
于同名
http://b0r0j0.blogbus.com/logs/4028462.html