EasyJWeb是基于java技术,用于企业级Java Web应用程序快速开发的MVC框架。框架设计构思来源于国内众多项目实践,框架的设计及实现借鉴当前主要流行的开源Web框架,如Rails、 Struts、JSF、Tapestry等,吸取其优点及精华,是一个完全由来自的中国开源爱好者开发。
该框架内置了ajax引擎,可以快速开发ajax应用。用起来和dwr很像,在这方面可能有所借鉴吧。
<servlet-mapping>
<servlet-name>easyjf</servlet-name>
<url-pattern>/ejf/*</url-pattern>
</servlet-mapping>
easyjweb常用的url形式是*.ejf,但同时也允许/ejf/*这种形式,比如demo.ejf?cmd=list&name=xx等价于/ejf/demo/list/name=xx,着主要是为了兼容ajax的请求url,执行ajax操作时url为/ejf/easyajax/ajaxCall,解析action=/easyajax,cmd=ajaxCall。所以要使用ajax需要如上配置。
<beans>
<bean name="ajaxService" class="xx" />
</beans>
<ajax>
<services>
<service name="ajaxService" />
</services>
</ajax>
配置ajax服务,如上是较为简易的配置方式,其中service必须是容器中的一个bean,默认情况下ajaxService所对应类的所有public方法都可以是ajax服务方法,可以通过include和exclude限制。
当ajax服务方法返回一个对象,而不是简单的字符串或基本类型时将如何?可以通过convert来配置约束,但默认情况下,允许所有要转化的对象,将返回的数据转换成json形式返回前台。有关easyjf-web.xml的配置具体配置请猛击!
<script type="text/javascript" src="ejf/easyajax/prototype.js"></script>
<script type="text/javascript" src="ejf/easyajax/engine.js"></script>
<script type="text/javascript" src="ejf/easyajax/ajaxService.js"></script>
在对应的html页面中添加以上js文件,ajaxService.js是系统自动生成的。
function getUsers() {
ajaxService.getUsers(callback);
function callback(list) {
alert("list是方法返回结果");
}
}
ajaxService调用getUsers方法,然后执行回调方法callback,传入参数list即为方法返回的结果。