2012-01-30 97 views
2
<module> 
<inherits name="com.google.gwt.core.Core"/> 
<inherits name="com.google.gwt.user.UserAgent"/> 
<inherits name="com.google.gwt.user.User"/> 

<replace-with class="hu.goodimpress.szamlazo.ajax.client.utils.JSON.JsonReader"> 
<when-type-is class="com.extjs.gxt.ui.client.data.JsonReader"/> 
<when-property-is name="user.agent" value="gecko1_8"/> 
</replace-with> 
<replace-with class="hu.goodimpress.szamlazo.ajax.client.utils.JSON.JsonReader"> 
<when-type-is class="com.extjs.gxt.ui.client.data.JsonReader"/> 
<when-property-is name="user.agent" value="opera"/> 
</replace-with> 
<replace-with class="hu.goodimpress.szamlazo.ajax.client.utils.JSON.JsonReader"> 
<when-type-is class="com.extjs.gxt.ui.client.data.JsonReader"/> 
<when-property-is name="user.agent" value="safari"/> 
</replace-with> 


<inherits name="com.extjs.gxt.ui.GXT"/> 
<inherits name="hu.goodimpress.szamlazo.ajax.Start"/> 


<entry-point class="hu.goodimpress.szamlazo.client.Szamlazo"/> 
</module> 

但GWT没有改变GXT JsonReader,我JsonReader:(( 我使用调试模式.... 所以它会更容易更换中央类从时间和地点,如果获得代码要少GWT XML替换类

为什么

回答

5

我不熟悉的GXT JsonReader但也有一对夫妇的提示:

替换规则可以被其它模块覆盖,所以可能会存在一些其他模块,其中^ h覆盖您的规则

替换规则只影响使用GWT.create创建的对象。例如。规则只能用于:

JsonReader reader = GWT.create(JsonReader.class);

而且从不为:

JsonReader reader = new JsonReader();

+1

不幸的是,JsonReader需要一个构造函数的参数,所以GWT.create是行不通的创建它。另外值得指出的是,如果你总是想要替换某些东西,那么就不需要检查属性 - 如果这些属性中的任何一个导致相同的替换,那么所有标签都可以放在相同的<替换为>标记。 – 2012-01-31 06:20:37