我需要这种不依赖于Java反射,因此它可以与Java到JavaScript编译器一样的GWT使用。
0
A
回答
2
我用MapSerialisation接口之前做过这样的:
interface MapSerialisation {
Map<String, Object> toMap();
void fromMap(Map<String, Object>);
}
实施,关于每个模型对象,并利用它来进行翻译。
我用另一种方法是谷歌集合变形金刚,并具有模式转换功能,以一个Java对象和Java脚本想的结构之间的转换。
我可能会尝试使用杰克逊连载到JSON虽然。
0
反思是做到这一点的最合理的方式,有些人可能会认为类的getMethods /场在技术上并非完全反映。要做到这一点
的方法之一是实现toHash()函数,在那里你可以明确地创建一个Hashtable /地图的对象。
3
GWT带有一个称为Deferred Binding作为用于反射的替代机制。虽然通常您只通过调用GWT.create(Class<?>)
来使用此API,但它也可用于编写在GWT编译过程(即Java到Javascript转换)期间调用的代码生成器。
你可以使用它来创建一个代码生成器,将您的任何POJO类 一个辅助类,其中将包含toMap()
和fromMap()
方法的输出。 GWT提供了一种类似于Java的反射API的API,类似于JClassType
,JMethod
等等。这些API可以用来为它们的getter和setter查询类(您想要生成代码)并生成上述方法因此。
你的客户端代码会那么基本上是这样的:
Pojo1 pojo1 = ...;
// Pojo1Transformer is the class that is generated for your domain class Pojo1
Pojo1Transformer pojo1Transformer = GWT.create(Pojo1Transformer.class);
Map<String, Object> pojo1AsMap = pojo1Transformer.toMap(pojo1);
...
pojo1AsMap.put(Pojo1Transformer.NAME, "New Name");
Pojo1 changed = pojo1Transformer.fromMap(pojo1AsMap);
相关问题
- 1. 的Java转换地图<字符串,对象>到地图<String, ?>
- 2. Java - 将TreeSet <String>转换为String []的最有效方法?
- 3. 转换JSON对象列出<String>
- 4. C#将Dictionary <string,AnyType>转换为Dictionary <string,Object>(涉及反射)
- 5. 类型转换地图<String,字符串>地图<对象,对象>
- 6. 转换表达<Func键<TEntity,TKEY的>,以表达<Func键<TEntity,对象>>
- 7. 如何将ArrayList()或ArrayList <String>中的对象转换为ArrayList <Integer>?
- 8. 如何将词典<对象,字符串>变换到词典<对象,列出<string>>与LINQ
- 9. 转换::对<性病:: basic_string的<炭的std :: char_traits <char>
- 10. 将转换集<Integer>设置为<String> in Java
- 11. java将ArrayList <StringBuilder>转换为ArrayList <String>
- 12. 如何在JAVA中将JAVAScript对象转换为Map <String,String>?
- 13. 转换的IOrderedEnumerable <KeyValuePair <string, int>>成字典<string, int>
- 14. C#将列表<string>转换为字典<string,string>
- 15. Java的转换列表<String>到列表<Object>
- 16. 将IQueryable <T>对象转换为另一个对象?
- 17. 如何将对象转换为列表<string>在C#中?
- 18. 如何将HashMap <String,Integer> param转换为Map <String,Object)
- 19. 转换的LinkedHashMap <字符串,MyClass的>到Java对象
- 20. ArrayList <HashMap <String,String >>到JSON对象Java
- 21. 的Java HashSet的<String>对象
- 22. 转换ArrayList <ArrayList <String>>“返回”ArrayList <String>
- 23. 转换List <HashMap <String,String >>到列表<map <String,String >> java
- 24. 如何将List <Single <String>>转换为列表<String>?
- 25. 如何使用BeanUtils.populate方法将String []转换为ArrayList <String>?
- 26. 是否可以将一对<Key, Value>转换成一对<const Key,Value>?
- 27. 如何将IEnumerable <IEnumerable <IGrouping <int,string> >>转换为IEnumerable <IEnumerable <string>>
- 28. 如何把List <string>转换成列表<int>?
- 29. 将java.util.List <String>转换成java.sql.Array
- 30. 使用operator <<与const对象