Метка Spring Roo в show.jsxp и list.jspx

Я новичок в Spring roo и работаю над своим первым приложением. Прочитал "Спринг Ру в действии" но на один вопрос ответа не получил.

У меня отношение один ко многим. При перечислении многих таблиц/объектов я хочу показать одно поле из соответствующего родителя. Теперь я получаю конкатенацию всех полей родителя.

Я уже понял, что в представлениях create.jspx и update.jspx можно использовать нотацию itemLabel="fieldName", и это работает нормально.

Но что эквивалентно представлениям show.jspx и list.jspx?


person dhmc    schedule 29.07.2015    source источник


Ответы (2)


Вы получаете все поля родителя, потому что jspx использует метод toString родителя для преобразования объекта в значение String.

Самый простой и быстрый способ решить эту проблему — вставить метод toString из файла .aj в файл .java и настроить возврат этого метод. Spring Roo, обнаружив метод в файле .java, не будет генерировать его снова.

Удачи!

person jmvivo    schedule 29.07.2015
comment
Спасибо за ответ. Да, я знал, что могу использовать метод toString. Но моя проблема в том, что я могу определить toString только один раз. Конечно, во время разработки удобно иметь текущую реализацию toString и видеть все поле. Есть ли другой способ - person dhmc; 30.07.2015

Вероятно, метод toString() работал в прошлом, но в версии 1.3.1 это не решает проблему, по крайней мере, для представлений jspx, см. Глава 11. Надстройка Web MVC, см. 11.2. Служба преобразования приложений.

Вместо этого вам нужно «вставить» методы .getToStringConverter() в ApplicationConversionServiceFactoryBean_Roo_ConversionService.aj в ApplicationConversionServiceFactoryBean.java.

и настроить его, как вам нравится.

person dhmc    schedule 08.08.2015