我有兩個對象應用程序和環境列表。我正在添加這些列表,但我將輸出作爲應用程序的一個完整列表,而不是其他整個環境列表。添加兩個列表並獲取嵌套格式的XML輸出
我希望它在嵌套形式,如應用程序和環境,比第二排的應用環境和一個入口等
這是我的代碼:
@GET
@Path("/test")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public ArrayList<MyModel> Test(){
System.out.println("inside test");
List<ApplicationDTO> allApplication = applicationService.getAllApplication();
List<Application> Applist = new ArrayList<Application>();
List<Environment> Envlist = new ArrayList<Environment>();
for(ApplicationDTO d: allApplication)
{
Application a = new Application();
a.setApplicationDescription(d.getApplicationDescription());
a.setApplicationId(d.getApplicationId());
a.setApplicationName(d.getApplicationName());
a.setAssignedTo(d.getAssignedTo());
a.setCreatedBy(d.getCreatedBy());
a.setCreateTime(d.getCreateTime());
a.setModifiedTime(d.getModifiedTime());
a.setOwner(d.getOwner());
Environment e = new Environment();
for(EnvironmentDTO en: d.getEnvironment())
{
e.setEnvironmentId(en.getEnvironmentId());
e.setEnvironmentName(en.getEnvironmentName());
e.setOwner(en.getOwner());
e.setCreateTime(en.getCreateTime());
Envlist.add(e);
}
Applist.add(a);
}
ArrayList<MyModel> obj= new ArrayList<MyModel>();
MyModel mm = new MyModel();
mm.setAppDTO(Applist);
mm.setEnDTO(Envlist);
obj.add(mm);
return obj;
}
編輯
我改變了我的類我已經添加了應用程序中的環境列表,現在我正在獲取應用程序內所有環境的列表,但是我需要一個應用程序中的一個環境,其他下一個裏面等等。我錯過了什麼?
public List<Application> Test(){
System.out.println("inside test");
List<ApplicationDTO> allApplication = applicationService.getAllApplication();
List<Application> Applist = new ArrayList<Application>();
List<Environment> Envlist = new ArrayList<Environment>();
for(ApplicationDTO d: allApplication)
{
Application a = new Application();
a.setApplicationDescription(d.getApplicationDescription());
a.setApplicationId(d.getApplicationId());
a.setApplicationName(d.getApplicationName());
a.setAssignedTo(d.getAssignedTo());
a.setCreatedBy(d.getCreatedBy());
a.setCreateTime(d.getCreateTime());
a.setModifiedTime(d.getModifiedTime());
a.setOwner(d.getOwner());
for(EnvironmentDTO en: d.getEnvironment())
{
Environment e = new Environment();
e.setEnvironmentId(en.getEnvironmentId());
e.setEnvironmentName(en.getEnvironmentName());
e.setOwner(en.getOwner());
e.setCreateTime(en.getCreateTime());
Envlist.add(e);
}
a.setEnvlists(Envlist);
Applist.add(a);
}
return Applist;
您是否生成了XSD並將JAXB應用於它? – Woot4Moo
不應該'Environment e = new Environment();'放在for循環中for(EnvironmentDTO en:'?你也可以**不設置'Application'對象中任何地方的'Envlist' –
@Shashank :我認爲這將是他的問題的解決方案。設置a.setEnvironment(en);在Applist.add(a)之前; –