`

.proto多message中对应的js代码

 
阅读更多

在网上好像很少存在关于这方面的资料。只能自己慢慢的尝试。

下面将尝试的代码,发出来。

package xmty;
option java_package = "comcom.xmty.java";
option java_outer_classname = "TestTest";
message People{
	required string name = 1;
	repeated string list = 2;


	message tel{
	  repeated int32 no = 1;
	}
	required tel t = 3;

	
}

 以上的.proto配置的内容,对应的js代码如下

if (typeof(xmty)=="undefined") {xmty = {};} 

xmty.tel = PROTO.Message("xmty.tel",{
	no: {
		options: {},                  
		multiplicity: PROTO.repeated,                  
		type: function(){return PROTO.string;},                  
		id: 1
	}
});

xmty.People = PROTO.Message("xmty.People",{ 
	name: {                  
		options: {},                  
		multiplicity: PROTO.required,                  
		type: function(){return PROTO.string;},                  
		id: 1  
	},
	list: {
		options:{},
		multiplicity: PROTO.repeated,                  
		type: function(){return PROTO.string;},                  
		id: 2 
	},
	t:{
		options:{},
		multiplicity: PROTO.required,                  
		type: function(){return xmty.tel;},                  
		id: 3
	}
}); 

 页面使用:

 

<script type="text/javascript" src="protobuf.js"></script>
<script type="text/javascript" src="pbj.js"></script>
<script type="text/javascript" src="people.proto.js"></script>

<script type="text/javascript">
	$(function(){  
		$.get("test.do",function(data){
			var s = new xmty.People();
			$("#111").append(data + "<br/>----------------<br />");
			s.ParseFromStream(new PROTO.Base64Stream(data));
			$("#111").append(s + "<br />------------------<br />");
			
			$("#111").append("name:"+s.name+"<br />---------------------<br />");
			for(var i=0;i<s.list.length;i++){
				var l = s.list[i]; 
				$("#111").append("list:"+ l + "----- -------------<br />");
			} 
			
			for(var i=0;i<s.t.no.length;i++ ){  
				$("#111").append("tel--->"+s.t.no[i]+"---<br />"); 
			}
		});  
	});    
</script>

 

 

后台数据为:

name: "zms"
list: "list0"
list: "list1"
list: "list2"
list: "list3"
list: "list4"
list: "list5"
list: "list6"
list: "list7"
list: "list8"
list: "list9"
t {
  no: "13860132591"
}

 

经前台脚本之后,显示的内容为:

name: "zms" list: "list0" list: "list1" list: "list2" list: "list3" list: "list4" list: "list5" list: "list6" list: "list7" list: "list8" list: "list9" t { no: "13860132591" } 
------------------
name:zms
---------------------
list:list0----- -------------
list:list1----- -------------
list:list2----- -------------
list:list3----- -------------
list:list4----- -------------
list:list5----- -------------
list:list6----- -------------
list:list7----- -------------
list:list8----- -------------
list:list9----- -------------
tel--->13860132591---

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics