0

AutoPopulatingList の実装に成功しました。ID をインクリメントする JavaScript があり、バックグラウンドで Spring が美しいリストを作成しています。

ところで、アイテムの削除でいくつかの問題が発生しました。Wizard Controller を使用していますが、「戻って」いくつかのアイテムを削除しようとしました。それでは、先に… びっくり!アイテムはまだまだあります!

では、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);

ありがとう!

4

1 に答える 1

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 に強制的に再入力されます。:)

于 2013-02-13T17:18:48.000 に答える