GWT Autobean Bean为null [英] GWT Autobean Bean is null
问题描述
请帮助我,我做了什么错误
InfraNameModel
public interface InfraNameModel {
String getInfraName();
void setInfraName(String infraName);
}
InfraNameModelImpl $ b
public class InfraNameModelImpl implements InfraNameModel {
private String infraName;
@Override
public String getInfraName(){
return infraName;
}
@Override
public void setInfraName(String infraName){
this.infraName = infraName;
}
}
InfraNameModelList
public interface InfraNameModelList< T extends InfraNameModel> {
public List< T> getInfraNameModelList();
public void setInfraNameModelList(List< T> infraNameModel);
}
InfraNameModelListImpl $ b
public class InfraNameModelListImpl implements InfraNameModelList< InfraNameModel> {
私人列表< InfraNameModel> infraNameModelList;
@Override
public List< InfraNameModel> getInfraNameModelList(){
return infraNameModelList;
}
@覆盖
公共无效setInfraNameModelList(列表与LT; InfraNameModel> infraNameModelList){
this.infraNameModelList = infraNameModelList;
}
}
IBeanFactory
public interface IBeanFactory extends AutoBeanFactory {
IBeanFactory INSTANCE = GWT.create(IBeanFactory.class);
AutoBean< InfraNameModel> infraNameModel();
AutoBean< InfraNameModelList> infraNameModelList();
...
InfraNameModelList infraNameModelList = beanFactory.deserializeFromJson( [{\ infraName\:\ TEST1\},{\ infraName\:\ TEST2\ }});
if(infraNameModelList == null)
logger.info(infraNameModelList === null);
else
logger.info(infraNameModelList not null+ infraNameModelList);
列表< InfraNameModelImpl> infraNameModel = infraNameModelList.getInfraNameModelList();
if(infraNameModel == null)
logger.info(infraNameModel === null);
else
logger.info(infraNameModel === not null+ infraNameModel);
InfraNameModelImpl infraNameModelImpl = infraNameModel.get(0);
if(infraNameModel == null)
logger.info(infraNameModelImpl === null);
else
logger.info(infraNameModelImpl === not null+ infraNameModelImpl);
logger.info(===+ infraNameModelImpl.getInfraName());
所以我有这样的错误
在这一行
ConsoleLogger.java:32 infraNameModel === null
为什么infraNameModel为空? =(
=== SUCCESS
ConsoleLogger.java:32 === [{infraName:TEST1 },{ infraName : TEST2\" }]
ConsoleLogger.java:32 infraNameModelList不为空by.client.models.infraNameModel.InfraNameModelListAutoBean$2@36
ConsoleLogger.java:32 infraNameModel === null
ConsoleLogger.java:32(TypeError):无法读取null
的属性'get_18_g $'H3f_g $ @ ConsoleLogger.java:32
eAf_g $ @ SimpleConsoleLogHandler.java:36
szf_g $ @ Logger.java:312
rzf_g $ @ Logger.java:302
Pzf_g $ @ Logger.java:236
rad_g $ @ LogConfiguration.java:169
lab_g $ @ Impl.java:186
$ 9_g $ @ Impl.java:293
(匿名)@ Impl.java:77
ConsoleLogger.java:55例外:com.google.gwt。 core.client.JavaScriptException:(TypeError):无法读取属性'get_18_g $'为空
ConsoleLogger.java:32 TypeError:无法通过uHg_g读取属性'get_18_g $'为空
$ .D $ g_g $ [as onSuccess_8_g $](Configuration.java:71)
at uHg_g $ .xHg_g $ [as o nSuccess_1_g $](Configuration.java:55)
。在S9f_g $ .Ny_g $ [如onResponseReceived_0_g $](AbstractRequestCallback.java:94)在ZLc_g $ $ .aMc_g
[如fireOnResponseReceived_0_g $](请求。 java:250)
at hNc_g $ .iNc_g $ [as onReadyStateChange_0_g $](RequestBuilder.java:412)
at XMLHttpRequest。< anonymous> (XMLHttpRequest.java:329)
在X9_g $(Impl.java:239)
在$ 9_g $(Impl.java:291)
在XMLHttpRequest。< anonymous> (Impl.java:77)
为什么infraNameModel是空的? =
因为数组没有 infraNameModelList
属性。 p>
您必须将JSON数组包装到具有此属性的对象中,以使其与AutoBean模型匹配。
Please help me, what I do wrong
InfraNameModel
public interface InfraNameModel {
String getInfraName();
void setInfraName(String infraName);
}
InfraNameModelImpl
public class InfraNameModelImpl implements InfraNameModel {
private String infraName;
@Override
public String getInfraName() {
return infraName;
}
@Override
public void setInfraName(String infraName) {
this.infraName = infraName;
}
}
InfraNameModelList
public interface InfraNameModelList<T extends InfraNameModel> {
public List<T> getInfraNameModelList();
public void setInfraNameModelList(List<T> infraNameModel);
}
InfraNameModelListImpl
public class InfraNameModelListImpl implements InfraNameModelList<InfraNameModel> {
private List<InfraNameModel> infraNameModelList;
@Override
public List<InfraNameModel> getInfraNameModelList() {
return infraNameModelList;
}
@Override
public void setInfraNameModelList(List<InfraNameModel> infraNameModelList) {
this.infraNameModelList = infraNameModelList;
}
}
IBeanFactory
public interface IBeanFactory extends AutoBeanFactory {
IBeanFactory INSTANCE = GWT.create(IBeanFactory.class);
AutoBean<InfraNameModel> infraNameModel();
AutoBean<InfraNameModelList> infraNameModelList();
}
...
InfraNameModelList infraNameModelList = beanFactory.deserializeFromJson(" [{\"infraName\":\"TEST1\"},{\"infraName\":\"TEST2\"}}");
if (infraNameModelList == null)
logger.info("infraNameModelList=== null");
else
logger.info("infraNameModelList not null " + infraNameModelList);
List<InfraNameModelImpl> infraNameModel = infraNameModelList.getInfraNameModelList();
if (infraNameModel == null)
logger.info("infraNameModel=== null");
else
logger.info("infraNameModel=== not null " + infraNameModel);
InfraNameModelImpl infraNameModelImpl = infraNameModel.get(0);
if (infraNameModel == null)
logger.info("infraNameModelImpl=== null");
else
logger.info("infraNameModelImpl=== not null " + infraNameModelImpl);
logger.info("===" + infraNameModelImpl.getInfraName());
So I have such error In this line
ConsoleLogger.java:32 infraNameModel=== null
Why infraNameModel is null??? =(
===SUCCESS
ConsoleLogger.java:32 ===[{"infraName":"TEST1"},{"infraName":"TEST2"}]
ConsoleLogger.java:32 infraNameModelList not null by.client.models.infraNameModel.InfraNameModelListAutoBean$2@36
ConsoleLogger.java:32 infraNameModel=== null
ConsoleLogger.java:32 (TypeError) : Cannot read property 'get_18_g$' of null
H3f_g$ @ ConsoleLogger.java:32
eAf_g$ @ SimpleConsoleLogHandler.java:36
szf_g$ @ Logger.java:312
rzf_g$ @ Logger.java:302
Pzf_g$ @ Logger.java:236
rad_g$ @ LogConfiguration.java:169
lab_g$ @ Impl.java:186
$9_g$ @ Impl.java:293
(anonymous) @ Impl.java:77
ConsoleLogger.java:55 Exception: com.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'get_18_g$' of null
ConsoleLogger.java:32 TypeError: Cannot read property 'get_18_g$' of null
at uHg_g$.D$g_g$ [as onSuccess_8_g$] (Configuration.java:71)
at uHg_g$.xHg_g$ [as onSuccess_1_g$] (Configuration.java:55)
at S9f_g$.Ny_g$ [as onResponseReceived_0_g$] (AbstractRequestCallback.java:94)
at ZLc_g$.aMc_g$ [as fireOnResponseReceived_0_g$] (Request.java:250)
at hNc_g$.iNc_g$ [as onReadyStateChange_0_g$] (RequestBuilder.java:412)
at XMLHttpRequest.<anonymous> (XMLHttpRequest.java:329)
at X9_g$ (Impl.java:239)
at $9_g$ (Impl.java:291)
at XMLHttpRequest.<anonymous> (Impl.java:77)
Why infraNameModel is null??? =(
Because an Array does not have an infraNameModelList
property.
You'd have to wrap the JSON array into an object with such a property to make it match your AutoBean model.
这篇关于GWT Autobean Bean为null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!