论坛首页 Web前端技术论坛

Buffalo 2.0-alpha1 发布

浏览 16127 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-08  
给那些久等的人....Buffalo 2.0-alpha1 发布!

最大的变动莫过于将站点从java.net迁移到sourceforge, 以及全新实现的buffalo protocal。效率提升30%

变动列表:

* 支持方法重载
* 重新实现协议,更好的解析和缓存,效率比1.2.x系列提升30%
* onTimeout和onException事件支持
* 更友好的错误信息显示
* 代码库迁移到sourceforge,采用subversion
* 采用maven管理项目

新的地址:http://buffalo.sourceforge.net
下载:http://sourceforge.net/project/showfiles.php?group_id=178867&package_id=206392&release_id=453305
  • 描述: buffalo benchmark
  • 大小: 25.8 KB
   发表时间:2006-10-08  
非常期待~
我一直以为,虽然细节上也许还有些需要改进,不过buffalo仍然是所有java ajax框架中是最自然的。比起动态生成js的dwr和丑陋无比的ww ajax tag..buffalo真是做得太好了
0 请登录后投票
   发表时间:2006-10-09  
我还是用旧版了。因为够用了

最近才发现有个功能少了。在select里动态加载,但好像不能预选某个option吧。

代码如下:
BindFactory.bindSelect = function(elem, value) {
	..................
	for (var i = 0; i < value.length; i++) {
		
		var option = document.createElement("OPTION");
		
		var data = value[i];
		if (data == null || typeof(data) == "undefined") {
			option.value = "";
			option.text = "";
		}
		if (typeof(data) != 'object') {
			option.value = data;
			option.text = data;
		} else {
			option.value = data[elem.getAttribute("jvalue")];
			option.text = data[elem.getAttribute("jtext")];	
		}
		elem.options.add(option);
	}
}

上面没有可以生成预选项
我是自已打算改一下这个脚本根据值来判断,我是想在java的类里新建数组(在加入List)时多加一个值变成new String[]{"value","text","预选"}
然后在脚里查看有没有第三个值,如果有加上elem.selected=true;

请问楼主这样子可行吗。

不知新版的buffalo有没有这功能。旧版式的没看到不知在那里。。。
0 请登录后投票
   发表时间:2006-10-10  
已接受。

初步实现方式判断在data中有没有selected属性,如果有并且为true或者对应的字符串就会选中。
0 请登录后投票
   发表时间:2006-10-14  
我是在jsp页面上select加了个属性jselected="2".
BindFactory.bindSelect = function(elem, value) {
	//TODO: Check the data type
	if (typeof(value) != "object" || value.constructor != Array) {
		BindFactory.reportError(elem,value,"绑定到Select控件需要数组类型数据!");
	}
	// delete all the nodes.
	while (elem.childNodes.length > 0) {
		elem.removeChild(elem.childNodes[0]);
	}
	
	// bind data
	var sel = "";
	for (var i = 0; i < value.length; i++) {
		
		var option = document.createElement("OPTION");
		//option = new Option();
		var data = value[i];
		if (data == null || typeof(data) == "undefined") {
			option.value = "";
			option.text = "";
		}
		if (typeof(data) != 'object') {
			option.value = data;
			option.text = data;
		} else {
			option.value = data[elem.getAttribute("jvalue")];
			option.text = data[elem.getAttribute("jtext")];	
			if(data.length >= 3 && data[elem.getAttribute("jselected")] == "selected"){
				//alert("is select option");
				sel = data[elem.getAttribute("jvalue")];
				//option.selected = true;
			}
		}
		elem.options.add(option);
	}
		/*
                     我在用上面的改法option.selected = true;就是不会预选。
                         后来我只能改为下面的等全部option加载完之后,则可以预选。
                        不知道为何
                   */
		for(var b = 0; b < value.length; b++){
			if(elem.options[b].value == sel){
				elem.options[b].selected = true;
				break;
			}
		}
	
}


另外:想问两个问题,请指教,谢谢。
1。请问用了buffalo之后,在页面里有大量的javascript暴露出来呢。该如何解决是好呢,加密?
   有没有办法,在写代码时编辑器里可以看到规则源的脚本,当发布应用时,用户打开页面:查看源文件,里是显示乱码或者说加密过了脚本呢。

2。想问有关burlap的用法,看代码不是很明白。
在下面代码中那传入类里的输入流的数据应是在脚本里组串好,然后burlap在返回里会把流自动转化为相应的XML字符串,然后把解析输出的XML的任务交给脚本去解析吗。。。
..........
		try {
			_service = Class.forName(serviceClazz).newInstance();
			
			if (_service instanceof BuffaloService) {
				//System.out.println(_service);  
				((BuffaloService) _service).init(getServletContext(), request);
			}
			_skeleton = new BurlapSkeleton(_service);
		} catch (Exception ex) {
			throw new ServletException(ex);
		}
		InputStream is = request.getInputStream();
		OutputStream os = response.getOutputStream();

		BurlapInput in = new BurlapInput(is);
		BurlapOutput out = new BurlapOutput(os) {
			public void startReply() throws IOException {
				print("<?xml version=\"1.0\" encoding=\"utf-8\"?><burlap:reply xmlns:burlap=\"http://www.amowa.net/buffalo/\">");
			}
		};

		try {
			_skeleton.invoke(in, out);
		} catch (Throwable e) {
			throw new ServletException(e);
		}
................
0 请登录后投票
   发表时间:2006-10-24  
我一直觉得buffalo够简单。

今天又发现一个不足之处。我在1.2版里。绑定table里看了脚本,发现无法对行与列进行符上属性。
比如我生成一个行tr.id。这里我就可是让一个行定义一个id,这样我可以在页面上对表格进行增删改。
与查询操作。
0 请登录后投票
   发表时间:2006-10-25  
看了一下Buffalo,感觉不错.不过希望Buffalo2.0正式版的时候也提供server端js生成,这样对程序员比较方便
DWR用的人多,我觉得这个是主要原因
0 请登录后投票
   发表时间:2006-10-27  
我之前也是用buffalo.1.2版本的,就是好像是对数据型的数据,只会传出[Object]要进行手工转换,其他的都很好,现在系统上用也很稳定,不过在新的公司都是用XMLHTTP来实现,郁闷,什么东东都要自己构造
0 请登录后投票
   发表时间:2007-02-14  
一直很想说,非常感谢这个项目buffalo.
0 请登录后投票
   发表时间:2007-03-01  
建议搞个中文版的文档
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics