2015-07-29 6 views
1

Я новичок в Spring roo и работаю над своим первым приложением. Я читал «Весенний Рой в действии», но на один вопрос мне не ответили.Весенний лейбл roo в show.jsxp и list.jspx

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

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

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

ответ

1

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

Простой и быстрый способ решить это вставных метод toString образуют файл .aj к .java и настроить возвращение этого метода. Spring Roo при обнаружении метода на .java файл не будет генерировать его снова.

Удачи вам!

+0

Спасибо за ваш ответ. Да, я знал, что могу использовать метод toString. Но моя проблема в том, что я могу только определить toString один раз. Конечно, во время разработки удобно иметь текущую реализацию toString и видеть все поле. Есть ли другой способ – dhmc

1

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

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

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