Я хочу зарегистрировать редактор пользовательских свойств для одного из свойств класса домена, класс что-то вроде этогоSpring/Grails редактора пользовательских свойств для конкретного свойства класса
class Accessory{
String name
byte[] image
}
От клиента сторона я посылаю в кодировке base64 для изображения, теперь я хочу эту строку для автоматического преобразования в массив байтов в момент связывания
Мой класс редактор свойств выглядит следующим образом
import java.beans.PropertyEditorSupport
import org.apache.commons.codec.binary.Base64
class CustomAccessoryImageEditor extends PropertyEditorSupport{
String getAsText() {
value.toString()
}
void setAsText(String text) {
String encodedImage = text?:""
byte[] imageBytes = decodeImageToBytes(encodedImage)
if(imageBytes.size()){
value = imageBytes
}
}
byte[] decodeImageToBytes(String encodedImage){
return Base64.decodeBase64(encodedImage)
}
}
Я не могу найти способ правильно зарегистрировать этот редактор.
Прямо сейчас у меня есть что-то вроде этого в моем регистраторе классе
registry.registerCustomEditor(byte, Accessory.image, new CustomAccessoryImageEditor())
, но когда я запускаю это, я получаю сообщение об ошибке: не удается найти свойство изображения на сословную принадлежность
У меня есть два вопроса, 1. Возможно ли иметь редактор свойств для определенного свойства класса? 2. Если да, то как указать путь собственности?
'registerCustomEditor (byte [], 'image', new Custom ....)' должен регистрировать редактор для всех свойств с именем _image_ типа _byte [] _, но я не уверен, что есть какой-либо способ его ограничить к одному определенному классу. –
Да, я знаю, что на самом деле это не путь собственности - «образ», в то время как привязка его говорит, не может найти изображение свойства в классе CustomAccessoryImageEditor. Было бы хорошо, если бы я мог ограничить это свойством с именем image –