我正在尝试使用 Wicket 的AutocompleteAjaxComponent
制作一个自动完成字段。
我想在下拉列表值中使用 
放置一些空间。
但是,它正在被转义,并打印为文字文本。我试图做setEscapeModelStrings(false)
但无济于事。
在AutocompleteAjaxComponent
中不转义这些字符的首选方法是什么?
最简单的解决方案是使用 unicode-escape u00A0
而不是
,因为 AbstractAutoCompleteTextRenderer 不会对此进行转义。
覆盖org.apache.wicket.extensions.ajax.markup.html.autocomplete.AbstractAutoCompleteTextRenderer#renderChoice(T, Response, String)
:
https://github.com/apache/wicket/blob/96bda7f1fd32ec5c8d1a8dfa5512fa643e2479a7/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java#L35
请参阅org.apache.wicket.extensions.ajax.markup.html.autocomplete.StringAutoCompleteRenderer
以获取灵感。将类的实例传递给org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField#AutoCompleteTextField(String, IModel<T>, Class<T>, IAutoCompleteRenderer<T>, AutoCompleteSettings)
。