首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wicket AutoCompleteTextField模型转换

Wicket AutoCompleteTextField模型转换
EN

Stack Overflow用户
提问于 2013-03-27 14:25:30
回答 1查看 661关注 0票数 1

看起来autocompletetextfield的Looks对象是一个字符串,尽管它应该是一个employee,这导致了无法从字符串转换为employee的异常。为什么?如何才能修复它?

代码语言:javascript
复制
        final DefaultCssAutocompleteTextField<Employee> field = new DefaultCssAutocompleteTextField<Employee>("field", new Model<Employee>(model.getObject().getMatch().getSupervisor())) {
            @Override
            protected Iterator<Employee> getChoices(String input) {
                if (Strings.isEmpty(input)){
                    List<Employee> emptyList = Collections.emptyList();
                    return emptyList.iterator();
                }
                return supervisorDao.getAutoCompleteCapableSupervisors(input, 6).iterator();
            }
        };

        form.add(field);

        field.add(new AjaxFormSubmitBehavior(form, "onchange") {
            @Override
            protected void onSubmit(AjaxRequestTarget target) {

                //this generates an exception: cant cast from string to employee. why? and how can it be fixed?
                Employee e = supervisorService.findOne(field.getModelObject().getId());

                //do some stuff with the employee and some components

            }

            @Override
            protected void onError(AjaxRequestTarget target) {
                //do nothing
            }
        });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-27 18:50:15

AutoCompleteTextfield的javadoc说:

要将输入转换回非字符串类型,您必须提供自定义IConverter,方法是覆盖#getConverter(Class)或在应用程序的ConverterLocator上设置合适的IConverter

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15653008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档