循环语句后未调用代码

时间:2011-07-15 14:17:15

标签: java jsf

在我的jsf页面中,我调用了一个名为saveinsert的方法,在我的saveInsert方法中,我有以下代码。

try {
    System.out.println("rchd 1");
    for (Employees items : editCellItems) {
        System.out.println("rchd 2");
        items.setEmpId(empBean.getEmployeesId());
        System.out.println("after assigning  "+items.getEmployeesId());

    } catch (Exception e) {
      System.out.println("exception "+e.getMessage());  
      e.printStackTrace();

    }

其中editCellItems声明为

List<Employees> editCellItems= new ArrayList<Employees>();

和empBean声明为

Employees empBean= new Employees();

我的问题是当我运行我的jsf页面rchd 2和代码之后没有被调用。 可能是什么原因?

2 个答案:

答案 0 :(得分:3)

确保使用editCellItems List<?> meothod将值添加到add()。此外,当为每个循环执行a时,请确保您不添加或删除项目,否则您将获得Exception。 e.g:

editCellItems.add(empBean);

编辑:此外如果editCellItems中只有1个元素,除非您要添加更多内容,否则可能不想使用列表,

答案 1 :(得分:0)

如果editCellItems中没有对象,那么它将遍历for循环0次。因此,您需要先添加一些对象:

editCellItems.add(empBean);