我有2个bean类 - Country&市。我需要在Country类中保留城市列表。而且当我设置城市信息时我需要设置国家名称,所以也需要城市类内的国家。怎么做? 以下是代码:
Country.java
public class Country {
private String name;
private String about;
ArrayList<City> cities;
public Country()
{
cities = new ArrayList<City>();
}
public Country(String name, String about)
{
this.name= name;
this.about = about;
}
public int getNoOfCities()
{
return cities.size();
}
public long getNoOfCitizens()
{ Long aPop= 0L;
//Long aPopulation = cities.get
for(City aCity: cities)
{
aPop += aCity.getPopulation();
}
return aPop;
}
public String getName(){
return name;
}
public String getAbout(){
return about;
}
}
City.java
public class City {
private String name;
private String about;
private Long population;
public City(String name, String about, Long population)
{
this.name= name;
this.name = about;
this.population = population;
}
public String getName(){
return name;
}
public String getAbout(){
return about;
}
public Long getPopulation(){
return population;
}
}
我该如何解决?有人告诉我像ViewObject这样的东西,但不知道它是什么或它是否会解决。帮帮我: - )
国家/地区条目/详细信息用户界面 1.姓名(条目) 2.关于(条目) 3.每个国家的名单 4.对于列表中的每个国家/地区 - 详细信息用户界面(详细信息用户界面),其中包含: 4.1。名称 4.2该国家/地区的城市数量 4.3。这个国家的人口数量(将是该国所有城市人口的总和)
城市条目用户界面 1.姓名(条目) 2.关于(条目) 3.人口(入职) 4.国家(下拉)
答案 0 :(得分:0)
我不确定我是否完全理解这个问题,但我能想到的最简单的事情是增加对城市的引用。如果你仔细想想,那就很有意义了 - 每个城市都在一个国家,所以没有国家的城市就不可能。
public class City {
private String name;
private String about;
private Long population;
private Country country;
public City(String name, String about, Long population, Country country)
{
this.name= name;
this.name = about;
this.population = population;
this.country=country;
country.addCity(this);
}
答案 1 :(得分:0)
您可以使用模型工厂类。它们可用于填充和创建控制器的模型。 e.g:
public class CountryModelFactory {
public static Country populateCountryModel() {
// code to populate the Country model.
// then return the Country model.
}
}
使用Model Factory类的优点是,您可以通过介质将模型与控制器分离,然后根据请求填充许多类似的模型。