話說Buffalo是姓中的寫的,支持下國產! 來先頂一個。
Buffalo處理Ajax有多牛,嘿嘿 我還真沒有正兒八經的整過。慚愧啊,爭取在最近好好研究下吧。
Buffalo支持和Spring整合。嘿嘿 這也是一個亮點。亮的有些不自在。為啥?
假如你用Spring+Struts+Hibernate來構建的輕量級J2EE框架,Spring和Struts整合有好幾種方式,有一種方式不要要論論了。
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml,/WEB-INF/business-context.xml" />
</plug-in>
上面的代碼還熟悉吧。問題就在這了,Buffalo 支持Spring的是
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
上面的部分代碼是Buffalo支持Spring必須的。
如果Spring和Struts整合用PlugIn方式,也就是Spring來管理Action(管理Action好壞先不說).Buffalo和Spring整合再在Web.xml配置SPring的東東,總感覺怪怪的。
Buffalo獲取WebApplicationContext是通過WebApplicationContextUtils.getWebApplicationContext(context);來獲取的。
感覺浪費。。。。。。
所以想讓Buffalo用Spring放在ServletContext裡面的WebApplicationContext(ContextLoaderPlugIn 實現把WebApplicationContext的實例放在了ServletContext中)。
所以就在Buffalo中實現了一個BuffaloPlugIn。代碼如下:(寫的不規范,湊合看吧)
。。。。
/**
*
* @Descripted <B>Buffalo+Spring+Struts+Hibernate/B>
* <P></P>
* @author meconsea
* @Company
* @IM: MSN: meconsea@hotmail.com
* QQ: 75147664
* E-mail: meconsea@163.com
* @date 2006-11-16
* @Version 1.0Beta
*/
public class BuffaloPlugIn implements PlugIn {
public static final Logger log = Logger.getLogger(BuffaloPlugIn.class);
public static final String SERVLET_CONTEXT_PREFIX = ContextLoaderPlugIn.class.getName() + ".CONTEXT.";
public static final String BUFFALO_CONTEXT_PREFIX = BuffaloPlugIn.class.getName()+".CONTEXT.";
private ModuleConfig moduleConfig;
private ActionServlet actionServlet;
public void d