我无法更好地表达我的标题,但发生的事情是:我在页面打开时获取列表,但它应该根据用户在页面上执行的操作删除其中的一个成员。
我在前端使用了ui:repeat,这个列表的getter方法是:
public List<Employee> getAvailableLoaders() {
if (availableLoaderList != null) {
List<Employee> availableLoaderListWithoutDriver = new ArrayList(availableLoaderList);
if (selectedDriver != null) {
logInfo("SelectedDriver is: " + selectedDriver.getName());
logInfo("List's size before removal is: " + availableLoaderListWithoutDriver.size());
logInfo("Removal was successfull? " + availableLoaderListWithoutDriver.remove(selectedDriver));
logInfo("List's size after removal is: " + availableLoaderListWithoutDriver.size());
}
return availableLoaderListWithoutDriver;
}
return null;
}
我的日志说:
Info: SelectedDriver is: [Driver name]
Info: List's size before removal is: 5
Info: Removal was successful? true
Info: List's size after removal is: 4
但它仍会显示一个列表,其中已删除驱动程序,无论如何都有5个成员。我知道正在使用正确的信息调用getter,当显示它的地方被调用时,因为我正在看日志。
关于我应该怎么做或者我只是做一个非常愚蠢的错误的任何解释或建议?