-1

当我尝试在 JSF 页面中显示List<String>带有国家/地区的 Java 时,我在 JSF 页面中遇到了非常奇怪的问题。这是代码:

 private List<String> listCountries;

    // Get the list with Countries
    public List<String> getlistCountries() { 
        // Generate List of Countries
        initlistCountries();
        return listCountries;
    }

    public void initlistCountries(){
        listCountries.add("Afghanistan");
        listCountries.add("Albania");
        listCountries.add("Algeria");
        listCountries.add("Andorra");
        listCountries.add("Angola");
        ......
    }

这段代码正确吗?我不能用@PostConstruct,因为我已经用过了。

当我加载 JSF 页面时,我得到了他的错误:

java.lang.NullPointerException
    at com.DX_57.AC_57.AddAccount.initlistCountries(AddAccount.java:344)
    at com.DX_57.AC_57.AddAccount.getlistCountries(AddAccount.java:339)
4

3 回答 3

5

你还没有初始化listCountries所以让它

 public void initlistCountries(){
        listCountries = new ArrayList<String>();
        listCountries.add("Afghanistan");
        listCountries.add("Albania");
        listCountries.add("Algeria");
        listCountries.add("Andorra");
        listCountries.add("Angola");
        ......
    }
于 2012-07-17T17:22:51.320 回答
1

初始化数组列表。

private List<String> listCountries=new ArrayList<String>();
于 2012-07-17T17:23:06.837 回答
1

看起来您从未初始化过 listCountries。

public void initlistCountries()
{
        listCountries = new ArrayList< String >(); // Add this line.

        listCountries.add("Afghanistan");
        listCountries.add("Albania");
        listCountries.add("Algeria");
        listCountries.add("Andorra");
        listCountries.add("Angola");
        ......
}
于 2012-07-17T17:24:11.660 回答