从AutoPopulatingList中删除项目

时间:2013-02-13 15:38:06

标签: java spring spring-mvc

我已经成功实现了AutoPopulatingList。我有一个javascript递增id和背景Spring正在创建我漂亮的列表。

我在删除btw项时遇到了一些问题。我正在使用向导控制器,我试图“返回”并删除几个项目。然后,前进......惊喜!这些物品还在那里!

那么,我怎样才能强制Spring每次创建一个新的AutoPopulatingList?或者我错过了什么?

这是我的工厂清单:

private AutoPopulatingList<Event> events = new AutoPopulatingList<Event>(new EventElementFactory());

public class EventElementFactory implements ElementFactory { 
    @Override
    public Event createElement(int index) throws ElementInstantiationException {            
        Event e = new Event(); 
        e.setModContr(""); 
        e.setDesc("");          
        return e; 
    } 
}

我在控制器中使用了这个initBinder(不知道为什么但是没有工作):

binder.setAutoGrowNestedPaths(false);

谢谢!

1 个答案:

答案 0 :(得分:1)

最后我解决了这个问题:

在我的jsp中,我添加了一个隐藏的字段

<input name="_clearEventList" type="hidden" value="true" />

并在我的控制器中

protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
    if(Boolean.valueOf(request.getParameter("_clearEventList"))) {
        ((MyForm)binder.getTarget()).getEvents().clear();
    }
    binder.setAutoGrowNestedPaths(false);
}

所以这将从该页面向前(或向后)清除我的列表,并强制Spring重新填充它。 :)