`
www-hello
  • 浏览: 99045 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaBean到ActionScript的Bean的简单实现

    博客分类:
  • flex
阅读更多

在开发数据驱动的Flex企业级开发中,会有很多数据通过JavaBean在Flex和java之间传输.

下面这个方法可以简单实现把javabean转换成flexbean.

package flex;

import java.lang.reflect.Field;

 public class JavaBean2AsBean {

	public static void toAsObject(Class clazz) {
		StringBuilder sb = new StringBuilder();
		sb.append("package ").append(clazz.getPackage().getName()).append(" {\n");
		sb.append("\t[RemoteClass(alias=\"").append(clazz.getName()).append("\")]\n");
		sb.append("\tpublic class ");
		sb.append(clazz.getSimpleName()).append(" {");
		Field[] fields = clazz.getDeclaredFields();
		for (Field field : fields) {
			sb.append("\n\t\t");
			sb.append("public var ").append(field.getName());
			sb.append(":").append(fieldTypeName(field)).append(";");

		}
		sb.append("\n\t}"); // end class
		sb.append("\n}"); // end package
		System.out.println(sb.toString());
	}

	public static String fieldTypeName(Field f) {
		String superName = f.getType().getSuperclass().getName();
		if (superName.equalsIgnoreCase("java.lang.Number")) {
			return "Number";
		}
		return f.getType().getSimpleName();
	}

}
分享到:
评论
1 楼 夜袭Kiss 2011-09-28  
数据格式有些不一样,你这个不能转换正确
而且复杂类型的情况下也不能支持

相关推荐

Global site tag (gtag.js) - Google Analytics