日期:2014-05-16  浏览次数:20454 次

Spring如何在jsp页面中获取Bean!

????? 在这几天做一个类似asp的标签功能,用了以前JUnit测试时写的Spring的Factory生成Bean,但是这样每生成一个Bean就要再次初始化一遍,浪费内存和花费大量时间.于是,我想直接获取Spring的Factory,这样可以减少时间,也减小内存消耗.

????? Spring的生成Bean的Factory类是WebApplicationContext, 在jsp页面中初始化的方法是

?????? WebApplicationContext wac = (WebApplicationContext)??????

????????????? config.getServletContext().getAttribute(WebApplicationContext.

??????????????????? ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

?????????? User u = (User) wac.getBean("user");

至此,OK了.

??????? 做标签实现需求用要<jsp:inclue/>,例如:

???? <jsp:include page='/mark/sys/item.jsp'>
?????????? <jsp:param name="classId" value="2164402"/>
?? ? </jsp:include>

??????? 通过获取了一个二级栏目列表。

????? 通过这种伪标签形式,可以做基于模块的开发。这是学asp标签的,不知有人用过没,知道这样做有什么不好吗?

????????