SpringMVC initbinder - 绑定列表项形成整数

时间:2013-05-05 01:07:54

标签: java spring spring-mvc spring-mvc-initbinders

我有一个页面,其中包含自定义项目列表,我在控制器的init绑定器中注册自定义编辑器以允许数据绑定。列表从视图传递。我遇到的问题是我在一个绑定到不同对象的视图上。但是这两个对象在commonRecNo中都有一个属性。

我已经在数据从视图传递到自定义对象列表的控制器时创建了一个binder函数但是我想创建一个接收Integer并返回列表的binder。 Under是我迄今为止所拥有的一个例子,但它没有约束力:

我需要知道如何注册一个接受Integer crimeRecNo的自定义编辑器并返回一个列表并将其绑定到列表中。

活页夹功能

这只是没有约束力

crimeRecNoBinderVictimList.registerCustomEditor(Integer.class, "crimeRecNo", new CustomCollectionEditor(List.class){
        protected Object convertElement(Object element) {


            List<Citizens> victimList = new ArrayList<Citizens>();

            String crimeRecNo = null

            if (element instanceof String) {
                crimeRecNo = (String) element;

            }
            logger.info("Inside CrimeRecNo Binder crimeRecNoBinderVictimList " + crimeRecNo);


            try {
                victimList = citizenManager.getListOfVictimsByCrimeRecNo(Integer.parseInt(crimeRecNo));
            } catch (Exception e) {

                logger.error("Error In crimeRecNoBinderVictimList "+e.getMessage());
            }

            return victimList;              
        }       

    });

错误

102348 [http-bio-8084-exec-10] DEBUG org.springframework.beans.TypeConverterDelegate  - Converting String to [int] using property editor [com.crimetrack.web.CrimeController$2@4b9e3acd]
102348 [http-bio-8084-exec-10] INFO  com.crimetrack.web.CrimeController  - Inside CrimeRecNo Binder crimeRecNoBinderCriminalList null
102348 [http-bio-8084-exec-10] ERROR com.crimetrack.web.CrimeController  - null
102358 [http-bio-8084-exec-10] INFO  com.crimetrack.web.CrimeController  - Inside CrimeRecNo Binder crimeRecNoBinderCriminalList 6

1 个答案:

答案 0 :(得分:1)

好问题,

我不确定,但是关于Spring @InitBinder的本教程可能会有所帮助:

http://howtoprogramwithjava.com/session35