如何防止检票口自动完成Ajax组件转 义?

  • 本文关键字:组件 nbsp Ajax 何防止 java wicket
  • 更新时间 :
  • 英文 :


我正在尝试使用 Wicket 的AutocompleteAjaxComponent制作一个自动完成字段。

我想在下拉列表值中使用&nbsp放置一些空间。

但是,它正在被转义,并打印为文字文本。我试图做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)

最新更新