Добавление пользовательской страницы в Spring Roo - PullRequest
5 голосов
/ 16 апреля 2011

У меня вопрос по поводу Spring Roo.

Как добавить пользовательскую страницу в веб-приложение?Это кажется действительно простым и легким, если я использую стандартный сервлет, но я совершенно запутался, делая это в Spring roo.Все, что я хочу, - это ссылка на главной странице (с меню и т. Д.), Которая ссылается на мою пользовательскую страницу.

Я попытался добавить новый сервлет в приложение, установив его сопоставление пути в / custompage.но когда я получаю доступ к http://localhost:8080/myapp/custompage, это показывает, что ресурс недоступен.

Я также не могу добавить ссылку на главной странице, я попытался редактировать menu.jspx напрямую и онне может.

Кто-нибудь может пролить мне свет на это?Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

6 голосов
/ 27 июня 2011

Самый простой способ - позволить Ру сделать это за вас.Используйте controller class --class ~.web.CustomPageController --preferredMapping /custompage и Roo создаст все для вас.

Убедитесь, что у вас есть только то, что вам нужно, в получающемся контроллере, поскольку он не будет работать, если у вас более одного сопоставления на запрос (я думаю, что по умолчанию в 1.1.4 есть неоднозначное сопоставление дляпростое «получить»)

6 голосов
/ 16 апреля 2011

Прежде всего отредактируйте {project_root}/src/main/webapp/WEB-INF/spring/webmvc-config.xml и добавьте новое определение mvc:view-controller для своей новой страницы.Что-то вроде:

<mvc:view-controller path="/custompage" />

Затем откройте {project_root}/src/main/webapp/WEB-INF/views/views.xml и добавьте следующее определение:

  <definition extends="public" name="custompage">
    <put-attribute name="body" value="/WEB-INF/views/custompage.jspx"/>
  </definition>

И добавьте custompage.jspx в папку {project_root}/src/main/webapp/WEB-INF/views/.

А затем отредактируйте {project_root}/src/main/webapp/WEB-INF/views/menu.jspx и новый menu:item с помощью url="/custompage".

Я думаю, что это должно работать.

2 голосов
/ 18 декабря 2011

Я сделал то же самое. У меня та же проблема. Затем я заметил, что webmvc-config.xml не имеет записи <mvc:view-controller path="/custompage/index"/>. Я поставил запись и теперь она работает сейчас. Убедитесь в наличии вышеуказанного кода.

...