Презентация Spring Roo и привязка модели

Я начинаю использовать Springsource с помощью Spring Roo.

Q1. Правильно ли я говорю, что Spring Roo автоматизирует большую часть утомительной работы Spring?

Я спрашиваю об этом, потому что, когда я следую не-roo учебникам по Spring, я читаю, что мне нужно выполнить значительное количество настроек и заглушек, которые были бы выполнены roo. Я не понимаю, почему до roo Spring помог бы уменьшить мою рабочую нагрузку.

Вопрос 2. Нужно ли определять сущности, используя пространство имен ~.domain.whatever. Обязательно ли иметь «домен»? Я могу сделать

entity --class ~.profile.PostalAddress

? Чувствителен ли Spring к слову «домен»?

Вопрос 3. Я хотел бы определить сущность

Employee { long id, string name, string project, date startdate}

Я хотел бы привязать сотрудника к панели презентации, где

  • id - скрытое поле,
  • имя отображается в нередактируемом поле,
  • проекта отображается редактируемое поле, заполненное текущим значением в БД,
  • startdate даже не отправляется в браузер.

Как мне это сделать в Roo? Если я не могу сделать это в Roo, есть ли способ, которым я мог бы возиться с внутренностями, сгенерированными Spring, и насколько легко это было бы?

Q4. Spring roo генерирует стандартный шаблон веб-интерфейса. Но я не хочу использовать интерфейс. Я просто хочу, чтобы roo генерировал для меня панели RESTful, которые я мог бы связать с пунктом меню GWT.

Причина в том, что мне нужно использовать навигационные виджеты GWT/SmartGWT, и когда соответствующий элемент обработки данных вызывается через gwt/smartgwt, я хотел бы вызвать/включить эту сгенерированную Spring панель данных RESTful.

Как заставить roo или впоследствии Spring создать панель данных RESTful для каждого из моих объектов без использования сгенерированных Spring или roo (бесполезных/непривлекательных) боковых панелей навигации по умолчанию? Должен ли я вручную изменять эти сгенерированные файлы roo? Если да, то как и чем?

Короче говоря, я хочу использовать удобство помощи roo для создания множества модулей, связанных с моделью представления и проверки, но использовать свой собственный GWT/Smart GWT для навигации по ним. Я НЕ спрашиваю о roo+gwt.


person Blessed Geek    schedule 13.08.2010    source источник
comment
Плохая практика SO - задавать несколько вопросов в одной теме. Это препятствует тому, чтобы ответы были приняты, потому что у проблемы слишком много аспектов. К сожалению, я не знаю ответа ни на один из них. :П   -  person Jesse Webb    schedule 07.09.2010
comment
Часто набор уравнений имеет несколько переменных, и вам нужно указать все уравнения, чтобы решить все переменные. Часто html-форма имеет несколько входных данных и нет смысла создавать десять форм, потому что есть десять параметров.   -  person Blessed Geek    schedule 08.09.2010


Ответы (2)


Q1: Это правда, что до Roo вам приходилось писать довольно много файлов конфигурации для приложения Spring. Однако без Spring вам пришлось бы писать еще больше конфигурации и, что еще хуже, Java-код, чтобы склеить все это вместе.

Вопрос 2. Roo не использует слово "домен". Вы можете называть свои пакеты как угодно. Лично я предпочитаю подпакет «модель» для классов предметной области.

Ничего не могу сказать о Q3 и Q4, извините.

person Philipp Jardas    schedule 07.10.2010

Предупреждение: я не эксперт по ROO... только начинаю сам

Вопрос 3:

Вы можете узнать, как это сделать, здесь: http://static.springsource.org/spring-roo/reference/html/base-web.html#jsp-views

ID: вам нужно будет импортировать стандартные теги jstl для поддержки <frm:hidden> (по умолчанию у Roo этого нет).

Имя: вы можете отобразить поле «Имя» как обычный текст или как отключенное текстовое поле — в последнем случае вы можете добавить disabled=true к тегу, я думаю.

Проект: Roo сделает то, что вам нужно для проекта, из коробки (хотя, если «Проект» является другой сущностью в отношении «многие-многие», по умолчанию будет создано поле выбора со всеми возможные проекты, и выбран текущий)

Дата начала: установите «render='false'» в теге, сгенерированном roo, и он даже не будет выводить html для этого поля.

Во всех случаях Roo будет переписывать ваши поля ввода, если вы не измените поле тегов Z на z="user-managed".
Я бы, вероятно, оставил исходный тег ROO, изменил его на render="false" z="user-managed" и добавил под ним свой собственный, чтобы делать то, что вы действительно хотите. .


Q4

Не знаком с GWT, но рассматривали ли вы roo web gwt

person David Pidcock    schedule 08.02.2013